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

Why to choose laravel framework