PHP یک زبان برنامه نویسی شیگرا است که در سال 1995 توسط Rasmus Lerdorf بوجود آمد PHP رایج ترین زبان اسکریپتی تحت وب است. به طوریکه، تا امروز PHP بر روی ۳۵۰ میلیون وب سایت نصب شده و در حدود ۸۰٪ از کل وبسایت های جهان از این زبان استفاده میکنند که استفاده از آن روز به روز بیشتر میشود. PHP یک زبان برنامه نویسی سمت سرور میباشد.
عمومیترین تعریف PHP این است که PHP مخفف کلمات Hypertext Pre-processor میباشد. شاید برایتان این سوال پیش بیاید که مخفف کلمات فوق HPP است. درست است.
فریمورک چیست ؟ فریمورک بستری را برای برنامه نویسان فراهم میکند که استفاده از کدهای از پیش ساخته شده را امکانپذیر میکند. در واقع میتوان گفت هدف اصلی فریمورک ، راحتی کار برنامه نویسان و اجتناب از نوشتن کدهای تکراری است. لاراول یکی از محبوبترین فریمورک های PHP است. PHP فریمورکهای متعددی دارد که از جمله آنها میتوان به Yii ،Cakephp ،codeigniter ،Nette ،Symfonyاشاره کرد. در حال حاضر اکثر برنامه نویسان تحت وبی که قصد توسعه برنامههای کاربردی وب بر پایه معماری سه لایه (MVC) با PHP دارند، استفاده از فریمورک لاراول را به دیگر فریمورک ها ترجیح میدهند.
لاراول (Laravel) یک فریمورک php مبتنی بر معماری MVC است که تیلور اوتول (Taylor Otwell) آن را ایجاد و توسعه بخشید. این فریمورک، بسیار قدرتمند، کدباز و رایگان است.
برخی از مزایای استفاده از لاراول :
یادگیری و بروز رسانی آسان
آسان سازی کارهای معمول در روند برنامه نویسی نظیر احراز هویت، روتینگ، جلسات و کَش
بهره گیری از ریموت کامپوننت
محدودکردن Eloquent با دستورات ساده
بهبود سرعت و افزایش ۱۰۰ درصدی سرعت مسیرها
دلپذیر کردن فرآیند توسعه برای توسعه دهندگان بدون به خطر انداختن قابلیتهای برنامه
استفاده از پکیج ها
اجرای آزمایش های واحد متعدد با دستورات بسیار ساده
دسترسی ساده به دیتابیس و سهولت در تغییر وکنترل کدها و بروز رسانی و توسعه برنامه ها
استفاده از موتور Blade
توانایی در استفاده از کامپیوتر و اینترنت
- HTML & CSS
افرادی که علاقمند به این تکنولوژی قدرتمند هستند
php
نصب و راه اندازی
زبان برنامه نویسی چیست؟ چرا باید از آن استفاده کنیم
معرفی زبان PHP و ذکر مزایا و معایب
نصب ابزار مورد نیاز از قبیل ویرایشگر , سرور , مرورگر
نوشتن Hello World ساده
ترکیب HTML و PHP
بررسی سینتکس زبان PHP
ساختار زبان PHP
چگونگی ایجاد کامنت
متغییر ها
دستورات Echo و Print
Data Types یا انواع داده
Bool
اعداد صحیح
اعداد اعشاری
اشیا
رشته ها
اعداد
توابع
آرایه ها
ثابت ها
● Operators
عملگرهای ریاضی
عملگرهای انتساب
عملگرهای بیتی
عملگرهای مقایسه ای
عملگرهای افزایشی و کاهشی
عملگرهای منطقی
عملگرهای رشته
● Conditions
ساختار If
ساختار If else
ساختار Short If
ساختار Break
ساختار Continue
ساختار Switch
● loops
ساختار While
ساختار Do While
ساختار For
ساختار Foreach
توابع یا Functions
آرگمان
پارامتر
مقدار بازگشتی
توابع بی نام
آرایه ها
کار با آرایه ها
مرتب سازی آرایه ها
تبدیل آرایه به رشته
تبدیل رشته به آرایه
آرایه n بعدی
حذف عنصر از آرایه
تعداد عناصر آرایه
● Super Globals
GLOBALS
SERVER
REQUEST
POST
GET
FILES
ENV
COOKIE
SESSION
● Scope
مفاهیم دیتابیس
بررسی MYSQL
آشنایی با phpmyadmin
آشنایی با زبان SQL
روش های مرسوم اتصال به دیتابیس در PHP
MYSQLi
PDO
● GET & POST
● Include & Require
● Session & Cookies
شروع پروژه عملی اول ( بلاگ )
شی گرایی در PHP
Class
Object
Property
Method
Const
Static
توابع سازنده و مخرب
سطوح دسترسی در کلاس ها
توابع مهم و ضروری در مباحث شی گرایی
وراثت Inheritance
Abstract
Interface
مفهومه کپسوله سازی
Magical Methods
Namespace
Use
Method Chain
Trait
● ajax در PHP و مثال عملی
● Json در PHP
● Regex
پروژه عملی دوم با ساختار شی گرا ( سایت خبری )
معماری MVC
دلایل استفاده از MVC و فریمورک
ساختار کلی MVC
معرفی پروژه عملی MVC تحت عنوان Tiny MVC
تنظیمات وب سرور برای اجرای سیستم روتینگ
- ساخت سیستم روتینگ
ساخت کنترلر ها و Trait ها
سیستم View
سیستم Model
ساخت Autoload
ساخت Helper های مفید
معرفی لاراول
دلایل استفاده از فریمورک
معرفی ابزار ها و نصب آن ها
نصب Composer
مروری بر معماری MVC
نصب و راه اندازی اولین پروژه
نصب با کمک Composer
نصب با کمک Installer
فایل env
بررسی ساختار لاراول
سیستم روتینگ در لاراول
HTTP Verbs
REST
Route Verbs
Route Handling
Route Parameters
Route Names
Route Groups
Prefixes
Fallback Routes
Namespace
Name
Redirects
Aborting
Response
Json
View and Routing System
View Composer
● Controllers
User Input
Injection Dependencies Into Controller
Resource Controllers
● CSRF Protection
ارتباط بین View و Controller
کار با فرم ها
● HTTP Exceptions
● HTTP Responses
نحوه نوشتن تست در لاراول
معرفی موتور Blade
Echo
Control Structures
Conditions
Loops
Template Inheritance
Section
Show
Yield
Including Partials
Stacks
Components
Slots
Blade Service Injection
Blade Directives
Custom Blade Directives
دیتابیس
تنظیمات اولیه اتصال به دیتابیس
Migration
Seeding
Query Builder
Transaction
Eloquent
Scopes
Collections
Serialization
Eloquent Relationships
● Laravel Mix
مقدمه ای بر Tinker
● Vaidation
Rule
Form Request
● Model
Route Model Binding
Mass Assignment
Accessors
Mutators
Casting
Fillable
Hidden
PrimaryKey
Table
Guarded
● Authentication
User Model
Auth Global
Auth Controllers
Logging Out
Auth Middleware
Blade Auth
Guards
● Authorization
ACL
● Service Provider
● Service Container
● API
REST API
مقدمه ای بر Passport
● Storage
● Sessions
● Cookies
● Queues
● Jobs
● Scheduler
● Helpers
پروژه عملی ( بلاگ )
- یادگیری و تسلط کافی به زبان PHPو فریمورک laravel
- تسلط کافی به ساختار شی گرا
- تسلط کافی به معماری MVC