why to choose laravel framework
TRANSCRIPT
![Page 1: Why to choose laravel framework](https://reader036.vdocuments.site/reader036/viewer/2022081517/58ed9f281a28ab58298b461d/html5/thumbnails/1.jpg)
為什麼選擇 Laravel Framework
2016.03.03Bo-Yi Wu
![Page 2: Why to choose laravel framework](https://reader036.vdocuments.site/reader036/viewer/2022081517/58ed9f281a28ab58298b461d/html5/thumbnails/2.jpg)
關於我• Blog: https://blog.wu-boy.com/• Github: https://github.com/appleboy
![Page 3: Why to choose laravel framework](https://reader036.vdocuments.site/reader036/viewer/2022081517/58ed9f281a28ab58298b461d/html5/thumbnails/3.jpg)
PHP 這麼多套 Framework為什麼要選 Laravel
![Page 4: Why to choose laravel framework](https://reader036.vdocuments.site/reader036/viewer/2022081517/58ed9f281a28ab58298b461d/html5/thumbnails/4.jpg)
http://www.sitepoint.com/best-php-framework-2015-sitepoint-survey-results/
The Most Popular Framework of 2015
![Page 5: Why to choose laravel framework](https://reader036.vdocuments.site/reader036/viewer/2022081517/58ed9f281a28ab58298b461d/html5/thumbnails/5.jpg)
選框架就要看作者是誰
![Page 6: Why to choose laravel framework](https://reader036.vdocuments.site/reader036/viewer/2022081517/58ed9f281a28ab58298b461d/html5/thumbnails/6.jpg)
Laravel Framework
• 目前由 Taylor Otwell 負責開發及維護– 5.1 開始支援 LTS Release
• bug fixes are provided for 2 years
• security fixes are provided for 3 years
![Page 7: Why to choose laravel framework](https://reader036.vdocuments.site/reader036/viewer/2022081517/58ed9f281a28ab58298b461d/html5/thumbnails/7.jpg)
Open Source 最怕的就是後續無人維護
![Page 8: Why to choose laravel framework](https://reader036.vdocuments.site/reader036/viewer/2022081517/58ed9f281a28ab58298b461d/html5/thumbnails/8.jpg)
對於 Laravel Framework開發者不用擔心後續維護問題
![Page 9: Why to choose laravel framework](https://reader036.vdocuments.site/reader036/viewer/2022081517/58ed9f281a28ab58298b461d/html5/thumbnails/9.jpg)
![Page 10: Why to choose laravel framework](https://reader036.vdocuments.site/reader036/viewer/2022081517/58ed9f281a28ab58298b461d/html5/thumbnails/10.jpg)
PHP 有無套件管理系統
![Page 13: Why to choose laravel framework](https://reader036.vdocuments.site/reader036/viewer/2022081517/58ed9f281a28ab58298b461d/html5/thumbnails/13.jpg)
團隊 Coding Style 制定
![Page 14: Why to choose laravel framework](https://reader036.vdocuments.site/reader036/viewer/2022081517/58ed9f281a28ab58298b461d/html5/thumbnails/14.jpg)
2014/02/22 Apple iOS bugsgoto fail;低級 bugs
https://www.imperialviolet.org/2014/02/22/applebug.html
![Page 16: Why to choose laravel framework](https://reader036.vdocuments.site/reader036/viewer/2022081517/58ed9f281a28ab58298b461d/html5/thumbnails/16.jpg)
PHP-FIG
• 建議開發前請先閱讀底下規範– Basic Coding Standard (PSR-1)– Coding Style Guide (PSR-2)– Autoloading Standard (PSR-4)
![Page 17: Why to choose laravel framework](https://reader036.vdocuments.site/reader036/viewer/2022081517/58ed9f281a28ab58298b461d/html5/thumbnails/17.jpg)
良好的 Coding Style可以讓同事減少 Review 時間
![Page 18: Why to choose laravel framework](https://reader036.vdocuments.site/reader036/viewer/2022081517/58ed9f281a28ab58298b461d/html5/thumbnails/18.jpg)
開發環境流程每次開發新專案前,都要浪費很多時間在建置環境
MySQL, Nginx, Redis, PHP, Node … 前端 , 後端都有
![Page 19: Why to choose laravel framework](https://reader036.vdocuments.site/reader036/viewer/2022081517/58ed9f281a28ab58298b461d/html5/thumbnails/19.jpg)
還有 OS 環境要解決Linux, Windows, MacOSX還沒處理完一天時間就過了
![Page 20: Why to choose laravel framework](https://reader036.vdocuments.site/reader036/viewer/2022081517/58ed9f281a28ab58298b461d/html5/thumbnails/20.jpg)
Laravel Homestead不用在個人電腦架設任何環境
![Page 21: Why to choose laravel framework](https://reader036.vdocuments.site/reader036/viewer/2022081517/58ed9f281a28ab58298b461d/html5/thumbnails/21.jpg)
Laravel Homestead• Ubuntu 14.04• Git• PHP 7.0• HHVM• Nginx• MySQL• Sqlite3
• Postgres• Composer• Node (With PM2, Bower,
Grunt, and Gulp)• Redis• Memcached• Beanstalkd
https://laravel.com/docs/5.2/homestead
![Page 22: Why to choose laravel framework](https://reader036.vdocuments.site/reader036/viewer/2022081517/58ed9f281a28ab58298b461d/html5/thumbnails/22.jpg)
Laravel Routing
• 所有 Routing Path 寫到同一檔案 ( 方便偵錯 )– CSRF Protection– Route Groups– Route Model Binding
![Page 23: Why to choose laravel framework](https://reader036.vdocuments.site/reader036/viewer/2022081517/58ed9f281a28ab58298b461d/html5/thumbnails/23.jpg)
![Page 24: Why to choose laravel framework](https://reader036.vdocuments.site/reader036/viewer/2022081517/58ed9f281a28ab58298b461d/html5/thumbnails/24.jpg)
Laravel ServiceLaravel 提供完整的第三方服務
![Page 25: Why to choose laravel framework](https://reader036.vdocuments.site/reader036/viewer/2022081517/58ed9f281a28ab58298b461d/html5/thumbnails/25.jpg)
Laravel Service• Authentication ( 帳號登入 )• Authorization ( 權限管理 )• Artisan Console ( 專案 command line tool)• Cache (Memcached and Redis)• Localization ( 多國語言 )• Mail (SMTP, Mailgun, Mandrill, Amazon SES)• Pagination ( 分頁管理 )
![Page 26: Why to choose laravel framework](https://reader036.vdocuments.site/reader036/viewer/2022081517/58ed9f281a28ab58298b461d/html5/thumbnails/26.jpg)
Laravel Service• Queues (database, Beanstalkd,
Amazon SQS, Redis, and synchronous (for local use) driver)
• Task Scheduling ( 排程管理 )• Testing ( 後端邏輯測試 )• Validation ( 資料驗證 )
![Page 27: Why to choose laravel framework](https://reader036.vdocuments.site/reader036/viewer/2022081517/58ed9f281a28ab58298b461d/html5/thumbnails/27.jpg)
Laravel Elixir前端與後端互相合作的好工具
![Page 28: Why to choose laravel framework](https://reader036.vdocuments.site/reader036/viewer/2022081517/58ed9f281a28ab58298b461d/html5/thumbnails/28.jpg)
Laravel Elixir
• Less, Sass, PostCSS, Plain CSS• Coffee Script, Browserify, Babel, Scripts• Versioning / Cache Busting• BrowserSync
![Page 29: Why to choose laravel framework](https://reader036.vdocuments.site/reader036/viewer/2022081517/58ed9f281a28ab58298b461d/html5/thumbnails/29.jpg)
Database Migration$ php artisan make:migration create_users_table
$ php artisan migrate$ php artisan migrate:rollback
![Page 30: Why to choose laravel framework](https://reader036.vdocuments.site/reader036/viewer/2022081517/58ed9f281a28ab58298b461d/html5/thumbnails/30.jpg)
Database Migration
• 不用寫任何 SQL 語法• 用日期記錄 SQL 操作• 不用管 DataBase 為 MySQL,
Postgres, MSSQL …
![Page 31: Why to choose laravel framework](https://reader036.vdocuments.site/reader036/viewer/2022081517/58ed9f281a28ab58298b461d/html5/thumbnails/31.jpg)
![Page 32: Why to choose laravel framework](https://reader036.vdocuments.site/reader036/viewer/2022081517/58ed9f281a28ab58298b461d/html5/thumbnails/32.jpg)
Laravel ORMsimple ActiveRecord implementation
for working with your database
![Page 33: Why to choose laravel framework](https://reader036.vdocuments.site/reader036/viewer/2022081517/58ed9f281a28ab58298b461d/html5/thumbnails/33.jpg)
Eloquent ORM
• 好用的 ORM 減少開發者寫 SQL 時間– One to One– One to Many–Many to Many
![Page 34: Why to choose laravel framework](https://reader036.vdocuments.site/reader036/viewer/2022081517/58ed9f281a28ab58298b461d/html5/thumbnails/34.jpg)
學習資源• 線上影音教學網站 : https://laracasts.com• 台灣線上文件 : https://laravel.tw/• 台灣 FB 討論區 : https://goo.gl/UwRLGu• 社群整理文件 : http://bit.ly/laraveltw-
resource