SlideShare a Scribd company logo
1 of 18
Download to read offline
laravel
A Fantastic PHP Back-End Framework

Omid Khosrojerdi
omidkh68@gmail.com

۱۳۹۲/۱۱/۰۱
‫عناوین ارائه‬

‫2‬

‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬

‫فریمورک سمت سرور (‪ )back-end‬چیست؟‬
‫دلیل استفاده از فریمورک ها چیست؟‬
‫انواع فریمورک های سمت سرور (‪)back-end‬‬
‫مقایسه فریمورک های متداول‬
‫‪ MVC‬چیست؟‬
‫‪ ORM‬چیست؟‬
‫‪ Composer‬چیست؟‬
‫‪ Laravel‬و تاریخچه‬
‫امکانات الراول‬
‫منابع‬
‫سؤال‬

‫‪Laravel‬‬
‫دلیل استفاده از فریمورک ها چیست؟‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬

‫3‬

‫‪Laravel‬‬

‫پیروی از یکسری قوانین مهندسی شده‬
‫نظم دادن به مراحل مختلف و اجزای یک پروژه در مقیاس های متوسط‬
‫و بزرگ‬
‫هماهنگی افراد تیم در یک پروژه‬
‫یکنواخت و استاندارد نوشتن کد ها توسط افراد تیم‬
‫استفاده از ‪)Model – View - Controller( MVC‬برای جدا کردن‬
‫ساختار های مختلف ‪ application‬برای امنیت بیشتر و باال بردن‬
‫‪ performance‬برنامه‬
‫انواع فریمورک سمت سرور(‪)back-end‬‬

‫4‬

‫‪Laravel‬‬
‫انواع فریمورک سمت سرور(‪)back-end‬‬

‫5‬

‫‪Laravel‬‬
‫مقایسه فریمورک های متداول‬

‫6‬

‫‪Laravel‬‬
‫‪ MVC‬چیست؟‬
‫• یک معماری است‬
‫• انواع معماری های دیگر مثل (…, ‪)mvvm – mvp – move‬‬

‫7‬

‫‪Laravel‬‬
‫‪ ORM‬چیست؟‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬

‫8‬

‫‪Laravel‬‬

‫الیه ترجمه بین زبان برنامه نویسی و پایگاه داده است‬
‫درگیری برنامه نویس با کدنویسی های سطح پایین را کاهش می دهد‬
‫اگر به طور صحیح و بهینه استفاده نشود ‪ performance‬برنامه‬
‫کاهش پیدا می کند‬
‫زمان تحویل پروژه را کاهش می دهد‬
‫سرعت عملیات ‪ object‬ها در پایگاه داده افزایش می دهد‬
‫آزمایش برنامه بهتر و زمان کمتری می برد‬
‫نیاز به خبره بودن در استفاده از آن نیست‬
‫‪ Composer‬چیست؟‬
‫•‬
‫•‬
‫•‬
‫•‬

‫9‬

‫یک ‪ Dependency Manager‬برای ‪ php‬است‬
‫دانلود ‪ dependency‬های مورد نیاز در پروژه‬
‫دانلود ‪ library‬های مورد نیاز در پروژه‬
‫دارای قابلیت پیدا کردن بروزرسانی ‪ package‬ها‬
‫و نصب آن ها در صورت نیاز‬

‫‪Laravel‬‬
‫الراول و تاریخچه‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬

‫01‬

‫اولین نسخه الراول در ژوئن 1102 توسط ‪ taylor otwell‬به‬
‫بیرون آمد‬
‫تمرکز بر رفع مشکالت فریمورک ‪ CI‬بود‬
‫نسخه دوم در نوامبر 1102 به بیرون آمد‬
‫نسخه سوم در فوریه 2102 به بیرون آمد‬
‫و در نسخه فعلی یا 4مین نسخه در می 2102 به بیرون آمد‬
‫که از مهمترین امکاناتی که به این نسخه اضافه شد‬
‫‪ composer‬می باشد‬

‫‪Laravel‬‬
‫امکانات الراول‬
‫ساختار معماری 5 الیه الراول‬

‫11‬

‫‪Laravel‬‬
‫امکانات الراول‬

‫‪Laravel‬‬

‫‪Controller‬‬
‫• سازماندهی بهتر‬
‫• تمامی ‪ controller‬ها ‪ extend‬شده از ‪ baseController‬هستند‬
‫‪ Views‬با استفاده از ‪Blade‬‬
‫• این قسمت خروجی یا ‪ html‬رو شامل می شود‬
‫• جداکننده ‪ controller logic‬از ‪ presentation login‬می باشد‬

‫21‬
Laravel

‫امکانات الراول‬
‫ در الراول‬ORM
‫ استفاده می شود‬ORM ‫ برای‬Eloquent ‫• در الراول از ماژول‬
: Eloquent ‫• نمونه کد استفاده از‬

class User extends Eloquent {
protected $table = 'my_users';
table ‫نام‬
}
$users = User::all();
:‫این خط معادل زیر می باشد‬
SELECT * FROM my_users;
$user = User::find(123);

‫این خط کوئری باال را تکمیل میکند‬
SELECT * FROM my_users WHERE id=123;

13
‫امکانات الراول‬

Laravel

‫ در الراول‬ORM
INSERT,UPDATE,DELETE ‫• عملیات های اصلی‬
$user = new User;
$user->name = 'John';
$user->save();

: ‫شبه کد برای درج و ویرایش و حذف‬
INSERT INTO my_users (name)VALUES(‘John’);

$user = User::find(123);
$user->email = 'john@foo.com';
$user->save();

UPDATE my_users set email = ‘john@foo.com’
WHERE id = 123;

$user->delete();

14
Laravel

Migration
• Version control for you database
• Paired with Schema
• Run with Artisan

‫امکانات الراول‬
Unit Testing
• Supports PHPUnit out of the box
• Easy to get started with Composer
• Allows you to simulate a web
browser

Relationship
• One to one
• One to many
• Many to many
• Polymorphic relations

15
‫امکانات الراول‬

‫‪Laravel‬‬

‫قالب بندی ‪Blade‬‬
‫‪Blade‬یک موتور قالب سازی پرقدرت و در عین حال ساده در الراول است. برخالف‬
‫طرح های کنترلر، ‪blade‬توسط "ارث بری قالب ها" و "بخش ها (‪section‬ها)" کار‬
‫می کند. تمام قالب های ‪blade‬باید از گسترش دهنده .‪blade.php‬استفاده کند.‬
‫>‪<html‬‬
‫>‪<body‬‬
‫)'‪@section('sidebar‬‬
‫.‪This is the master sidebar‬‬
‫‪@show‬‬
‫>"‪<div class="container‬‬
‫)'‪@yield('content‬‬
‫>‪</div‬‬
‫>‪</body‬‬
‫>‪</html‬‬

‫61‬
Laravel

•
•
•
•
•

‫منابع‬

maxoffsky.com/code-blog/history-of-laravel-php-framework-eloquence-emerging
www.laravel.com
codebright.daylerees.com
culttt.com
net.tutsplus.com

: ‫راهنمای نصب الراول در ویندوز در سایت برنامه نویس‬
http://barnamenevis.org/showthread.php?436492-%D9%86%D8%B5%D8%A8%D9%81%D8%B1%DB%8C%D9%85%D9%88%D8%B1%DA%A9%D9%84%D8%A7%D8%B1%D8%A7%D9%88%D9%84-%D8%AF%D8%B1%D9%88%DB%8C%D9%86%D8%AF%D9%88%D8%B2%D8%9F&highlight=laravel

17
Laravel

‫سؤال ؟‬

Omid Khosrojerdi
omidkh68@gmail.com

18

More Related Content

Similar to Laravel - back-end framework in persian language

oCCc_24_Cloud_Design_Patterns
oCCc_24_Cloud_Design_PatternsoCCc_24_Cloud_Design_Patterns
oCCc_24_Cloud_Design_PatternsMorteza Javan
 
Controller in asp.net mvc
Controller in asp.net mvcController in asp.net mvc
Controller in asp.net mvcReza Rahimy
 
Network Load Balancing (NLB)
Network Load Balancing (NLB)Network Load Balancing (NLB)
Network Load Balancing (NLB)ali torabi
 
Yarn مروری بر
Yarn مروری بر Yarn مروری بر
Yarn مروری بر nasser rezaei
 
آموزش مدیریت بانک اطلاعاتی اوراکل - بخش چهارم
آموزش مدیریت بانک اطلاعاتی اوراکل - بخش چهارمآموزش مدیریت بانک اطلاعاتی اوراکل - بخش چهارم
آموزش مدیریت بانک اطلاعاتی اوراکل - بخش چهارمfaradars
 
ورودی خروجی Hadoop
ورودی خروجی Hadoopورودی خروجی Hadoop
ورودی خروجی Hadoopnasser rezaei
 
AOSD توسعه نرم افزار جنبه گرا
AOSD توسعه نرم افزار جنبه گراAOSD توسعه نرم افزار جنبه گرا
AOSD توسعه نرم افزار جنبه گراOmid Rajabi
 
قلاب سازی در تحلیل بدافزارهاHooking in Malware Analysis
 قلاب سازی در تحلیل بدافزارهاHooking  in Malware Analysis قلاب سازی در تحلیل بدافزارهاHooking  in Malware Analysis
قلاب سازی در تحلیل بدافزارهاHooking in Malware AnalysisM Mehdi Ahmadian
 
Web Application Security Test
Web Application Security TestWeb Application Security Test
Web Application Security TestSaeid Sadeghi
 
Java programming languages
Java programming languagesJava programming languages
Java programming languagesjavadib
 
Partition in oracle mysql |Mariadb
Partition in oracle mysql |MariadbPartition in oracle mysql |Mariadb
Partition in oracle mysql |MariadbYashar Esmaildokht
 
ارائه ابزار.pptx
ارائه ابزار.pptxارائه ابزار.pptx
ارائه ابزار.pptxaminnezarat
 
PHP Web service - وب سرویس
PHP Web service - وب سرویسPHP Web service - وب سرویس
PHP Web service - وب سرویسParsa Kafi
 
آموزش مدیریت بانک اطلاعاتی اوراکل - بخش یکم
آموزش مدیریت بانک اطلاعاتی اوراکل - بخش یکمآموزش مدیریت بانک اطلاعاتی اوراکل - بخش یکم
آموزش مدیریت بانک اطلاعاتی اوراکل - بخش یکمfaradars
 

Similar to Laravel - back-end framework in persian language (20)

oCCc_24_Cloud_Design_Patterns
oCCc_24_Cloud_Design_PatternsoCCc_24_Cloud_Design_Patterns
oCCc_24_Cloud_Design_Patterns
 
Controller in asp.net mvc
Controller in asp.net mvcController in asp.net mvc
Controller in asp.net mvc
 
IranOUG_Oracle_Multitenant
IranOUG_Oracle_MultitenantIranOUG_Oracle_Multitenant
IranOUG_Oracle_Multitenant
 
Network Load Balancing (NLB)
Network Load Balancing (NLB)Network Load Balancing (NLB)
Network Load Balancing (NLB)
 
Yarn مروری بر
Yarn مروری بر Yarn مروری بر
Yarn مروری بر
 
پیش مقدمه آموزش نرم افزار متلب
پیش مقدمه آموزش نرم افزار متلبپیش مقدمه آموزش نرم افزار متلب
پیش مقدمه آموزش نرم افزار متلب
 
آموزش مدیریت بانک اطلاعاتی اوراکل - بخش چهارم
آموزش مدیریت بانک اطلاعاتی اوراکل - بخش چهارمآموزش مدیریت بانک اطلاعاتی اوراکل - بخش چهارم
آموزش مدیریت بانک اطلاعاتی اوراکل - بخش چهارم
 
.NetFramework
.NetFramework.NetFramework
.NetFramework
 
ورودی خروجی Hadoop
ورودی خروجی Hadoopورودی خروجی Hadoop
ورودی خروجی Hadoop
 
AOSD توسعه نرم افزار جنبه گرا
AOSD توسعه نرم افزار جنبه گراAOSD توسعه نرم افزار جنبه گرا
AOSD توسعه نرم افزار جنبه گرا
 
Soap vs restful
Soap vs  restfulSoap vs  restful
Soap vs restful
 
قلاب سازی در تحلیل بدافزارهاHooking in Malware Analysis
 قلاب سازی در تحلیل بدافزارهاHooking  in Malware Analysis قلاب سازی در تحلیل بدافزارهاHooking  in Malware Analysis
قلاب سازی در تحلیل بدافزارهاHooking in Malware Analysis
 
Web Application Security Test
Web Application Security TestWeb Application Security Test
Web Application Security Test
 
Java programming languages
Java programming languagesJava programming languages
Java programming languages
 
Partition in oracle mysql |Mariadb
Partition in oracle mysql |MariadbPartition in oracle mysql |Mariadb
Partition in oracle mysql |Mariadb
 
ارائه ابزار.pptx
ارائه ابزار.pptxارائه ابزار.pptx
ارائه ابزار.pptx
 
PHP Web service - وب سرویس
PHP Web service - وب سرویسPHP Web service - وب سرویس
PHP Web service - وب سرویس
 
Kotlin
KotlinKotlin
Kotlin
 
How Create Waf With Naxsi
How Create Waf With NaxsiHow Create Waf With Naxsi
How Create Waf With Naxsi
 
آموزش مدیریت بانک اطلاعاتی اوراکل - بخش یکم
آموزش مدیریت بانک اطلاعاتی اوراکل - بخش یکمآموزش مدیریت بانک اطلاعاتی اوراکل - بخش یکم
آموزش مدیریت بانک اطلاعاتی اوراکل - بخش یکم
 

Laravel - back-end framework in persian language

  • 1. laravel A Fantastic PHP Back-End Framework Omid Khosrojerdi omidkh68@gmail.com ۱۳۹۲/۱۱/۰۱
  • 2. ‫عناوین ارائه‬ ‫2‬ ‫•‬ ‫•‬ ‫•‬ ‫•‬ ‫•‬ ‫•‬ ‫•‬ ‫•‬ ‫•‬ ‫•‬ ‫•‬ ‫فریمورک سمت سرور (‪ )back-end‬چیست؟‬ ‫دلیل استفاده از فریمورک ها چیست؟‬ ‫انواع فریمورک های سمت سرور (‪)back-end‬‬ ‫مقایسه فریمورک های متداول‬ ‫‪ MVC‬چیست؟‬ ‫‪ ORM‬چیست؟‬ ‫‪ Composer‬چیست؟‬ ‫‪ Laravel‬و تاریخچه‬ ‫امکانات الراول‬ ‫منابع‬ ‫سؤال‬ ‫‪Laravel‬‬
  • 3. ‫دلیل استفاده از فریمورک ها چیست؟‬ ‫•‬ ‫•‬ ‫•‬ ‫•‬ ‫•‬ ‫3‬ ‫‪Laravel‬‬ ‫پیروی از یکسری قوانین مهندسی شده‬ ‫نظم دادن به مراحل مختلف و اجزای یک پروژه در مقیاس های متوسط‬ ‫و بزرگ‬ ‫هماهنگی افراد تیم در یک پروژه‬ ‫یکنواخت و استاندارد نوشتن کد ها توسط افراد تیم‬ ‫استفاده از ‪)Model – View - Controller( MVC‬برای جدا کردن‬ ‫ساختار های مختلف ‪ application‬برای امنیت بیشتر و باال بردن‬ ‫‪ performance‬برنامه‬
  • 4. ‫انواع فریمورک سمت سرور(‪)back-end‬‬ ‫4‬ ‫‪Laravel‬‬
  • 5. ‫انواع فریمورک سمت سرور(‪)back-end‬‬ ‫5‬ ‫‪Laravel‬‬
  • 6. ‫مقایسه فریمورک های متداول‬ ‫6‬ ‫‪Laravel‬‬
  • 7. ‫‪ MVC‬چیست؟‬ ‫• یک معماری است‬ ‫• انواع معماری های دیگر مثل (…, ‪)mvvm – mvp – move‬‬ ‫7‬ ‫‪Laravel‬‬
  • 8. ‫‪ ORM‬چیست؟‬ ‫•‬ ‫•‬ ‫•‬ ‫•‬ ‫•‬ ‫•‬ ‫•‬ ‫8‬ ‫‪Laravel‬‬ ‫الیه ترجمه بین زبان برنامه نویسی و پایگاه داده است‬ ‫درگیری برنامه نویس با کدنویسی های سطح پایین را کاهش می دهد‬ ‫اگر به طور صحیح و بهینه استفاده نشود ‪ performance‬برنامه‬ ‫کاهش پیدا می کند‬ ‫زمان تحویل پروژه را کاهش می دهد‬ ‫سرعت عملیات ‪ object‬ها در پایگاه داده افزایش می دهد‬ ‫آزمایش برنامه بهتر و زمان کمتری می برد‬ ‫نیاز به خبره بودن در استفاده از آن نیست‬
  • 9. ‫‪ Composer‬چیست؟‬ ‫•‬ ‫•‬ ‫•‬ ‫•‬ ‫9‬ ‫یک ‪ Dependency Manager‬برای ‪ php‬است‬ ‫دانلود ‪ dependency‬های مورد نیاز در پروژه‬ ‫دانلود ‪ library‬های مورد نیاز در پروژه‬ ‫دارای قابلیت پیدا کردن بروزرسانی ‪ package‬ها‬ ‫و نصب آن ها در صورت نیاز‬ ‫‪Laravel‬‬
  • 10. ‫الراول و تاریخچه‬ ‫•‬ ‫•‬ ‫•‬ ‫•‬ ‫•‬ ‫01‬ ‫اولین نسخه الراول در ژوئن 1102 توسط ‪ taylor otwell‬به‬ ‫بیرون آمد‬ ‫تمرکز بر رفع مشکالت فریمورک ‪ CI‬بود‬ ‫نسخه دوم در نوامبر 1102 به بیرون آمد‬ ‫نسخه سوم در فوریه 2102 به بیرون آمد‬ ‫و در نسخه فعلی یا 4مین نسخه در می 2102 به بیرون آمد‬ ‫که از مهمترین امکاناتی که به این نسخه اضافه شد‬ ‫‪ composer‬می باشد‬ ‫‪Laravel‬‬
  • 11. ‫امکانات الراول‬ ‫ساختار معماری 5 الیه الراول‬ ‫11‬ ‫‪Laravel‬‬
  • 12. ‫امکانات الراول‬ ‫‪Laravel‬‬ ‫‪Controller‬‬ ‫• سازماندهی بهتر‬ ‫• تمامی ‪ controller‬ها ‪ extend‬شده از ‪ baseController‬هستند‬ ‫‪ Views‬با استفاده از ‪Blade‬‬ ‫• این قسمت خروجی یا ‪ html‬رو شامل می شود‬ ‫• جداکننده ‪ controller logic‬از ‪ presentation login‬می باشد‬ ‫21‬
  • 13. Laravel ‫امکانات الراول‬ ‫ در الراول‬ORM ‫ استفاده می شود‬ORM ‫ برای‬Eloquent ‫• در الراول از ماژول‬ : Eloquent ‫• نمونه کد استفاده از‬ class User extends Eloquent { protected $table = 'my_users'; table ‫نام‬ } $users = User::all(); :‫این خط معادل زیر می باشد‬ SELECT * FROM my_users; $user = User::find(123); ‫این خط کوئری باال را تکمیل میکند‬ SELECT * FROM my_users WHERE id=123; 13
  • 14. ‫امکانات الراول‬ Laravel ‫ در الراول‬ORM INSERT,UPDATE,DELETE ‫• عملیات های اصلی‬ $user = new User; $user->name = 'John'; $user->save(); : ‫شبه کد برای درج و ویرایش و حذف‬ INSERT INTO my_users (name)VALUES(‘John’); $user = User::find(123); $user->email = 'john@foo.com'; $user->save(); UPDATE my_users set email = ‘john@foo.com’ WHERE id = 123; $user->delete(); 14
  • 15. Laravel Migration • Version control for you database • Paired with Schema • Run with Artisan ‫امکانات الراول‬ Unit Testing • Supports PHPUnit out of the box • Easy to get started with Composer • Allows you to simulate a web browser Relationship • One to one • One to many • Many to many • Polymorphic relations 15
  • 16. ‫امکانات الراول‬ ‫‪Laravel‬‬ ‫قالب بندی ‪Blade‬‬ ‫‪Blade‬یک موتور قالب سازی پرقدرت و در عین حال ساده در الراول است. برخالف‬ ‫طرح های کنترلر، ‪blade‬توسط "ارث بری قالب ها" و "بخش ها (‪section‬ها)" کار‬ ‫می کند. تمام قالب های ‪blade‬باید از گسترش دهنده .‪blade.php‬استفاده کند.‬ ‫>‪<html‬‬ ‫>‪<body‬‬ ‫)'‪@section('sidebar‬‬ ‫.‪This is the master sidebar‬‬ ‫‪@show‬‬ ‫>"‪<div class="container‬‬ ‫)'‪@yield('content‬‬ ‫>‪</div‬‬ ‫>‪</body‬‬ ‫>‪</html‬‬ ‫61‬
  • 17. Laravel • • • • • ‫منابع‬ maxoffsky.com/code-blog/history-of-laravel-php-framework-eloquence-emerging www.laravel.com codebright.daylerees.com culttt.com net.tutsplus.com : ‫راهنمای نصب الراول در ویندوز در سایت برنامه نویس‬ http://barnamenevis.org/showthread.php?436492-%D9%86%D8%B5%D8%A8%D9%81%D8%B1%DB%8C%D9%85%D9%88%D8%B1%DA%A9%D9%84%D8%A7%D8%B1%D8%A7%D9%88%D9%84-%D8%AF%D8%B1%D9%88%DB%8C%D9%86%D8%AF%D9%88%D8%B2%D8%9F&highlight=laravel 17