發表文章

目前顯示的是有「Laravel」標籤的文章

Laravel 部署到 Heroku

圖片
建立新專案,可以設定 laravel 的版本 composer create-project --prefer-dist laravel/laravel blog "5.4.*" 定義 Procfile web: vendor/bin/heroku-php-apache2 public/ 部署至 Heroku heroku create 新增、初始 Repository git init; git add .; git commit -am 'Set git initialize'; git add remote origin <heroku git remote>; Open app 出現錯誤訊息 原因出在缺少應用程式的密鑰,找到 .env 中的 APP_KEY,打開 Heroku dashboard 新增變數 APP_KEY=value (check your .env file for this) 如果要開啟 debug 功能 APP_DEBUG=true 重新整理畫面就可以看到大大的 Laravel How to deploy a Laravel App into Heroku Hosting Your Laravel App on Heroku

Composer 2.0 升級步驟

圖片
指定升級到2.x(1.X)版本 composer self-update --2 composer self-update --1 升級到最新穩定版本 composer self-update 使用rollback可以返回到原來的版本 composer self-update --rollback

Laravel-Controller基本介紹

controller的檔案會在app/Http/Controllers底下 RESTful 資源控制器  使用 make:controller Artisan 指令,我們可以快速地建立像這樣的控制器。先新增controller,在專案資料夾下指令 php artisan make:controller UserController --resource 基本操作 編輯app\Http\Controllers\UserController.php ... public function show($id) { return '編號:' . $id; } Route指定Contrller行為 Route::get('user/{id}', [UserController::class, 'show']);

Laravel-Views基本介紹

views在 resources/views 底下 新增Views  檔名user.blade.php,格式{名稱}.blade.php #View <!doctype html> <html> <head> <title>Laravel</title> </head> <body> <h1>{{$text}}, {{$name}}</h1> 工號 {{$erpid}} </body> </html> #route Route::get('/user/{id}', 'UserController@hello'); #Controller public function hello($id) { //方法1 return view( 'user', [ 'name' => 'Shock', 'erpid' => $id, 'text' => 'Welcome' ] ); //方法2 return view('user')->with('name', 'Shock')->with('erpid', $id)->with('text', 'Welcome'); }

Laravel-Middleware基本介紹

HTTP 中介層提供一個方便的機制來過濾進入應用程式的 HTTP 請求。Laravel 框架已經內建一些中介層,包括維護、身份驗證、CSRF 保護,等等。所有的中介層都放在 app/Http/Middleware 目錄內。 RESTful 資源控制器  要建立一個新的中介層,可以使用 make:middleware 這個 Artisan 指令: php artisan make:middleware OldMiddleware 全域使用(Global Middleware) protected $middlewarePriority = [ // //新增剛剛新增的OldMiddleware \Illuminate\Auth\Middleware\OldMiddleware::class, ]; 為 Route 指派 Middleware protected $routeMiddleware = [ // //新增剛剛新增的OldMiddleware 'old' => \Illuminate\Auth\Middleware\OldMiddleware::class, ]; Route使用中介層 //方法1 Route::get('admin/profile', function () { // })->middleware('auth'); //方法2 Route::middleware('auth')->get('admin/profile', function () { // }); //方法3 use App\Http\Middleware\OldMiddleware; Route::get('user/S2137', function () { // })->middleware(OldMiddleware::class); //方法4 Route::middleware('first', 'second')->get('user/S2137', function () { ...

Laravel-Route基本介紹

在web.php中有一個為根目錄(‘/’)且附帶閉包函數的預設路由。這個路由預設是使用者造訪根目錄時,就會回傳 welcome.blade.php 的內容。 Route::get('/', function () { return view('welcome'); }); 直接回傳 Route::get('/', function () { return 'Hello World'; }); 設定一個回傳foo的路由,可以透過 Route::get('foo', function () { return 'Hello World'; }); 或顯示 resource/views/about.blade.php Route::get('about', function () { return view('about'); }); Route方法 Route::get($uri, $callback); Route::post($uri, $callback); Route::put($uri, $callback); Route::patch($uri, $callback); Route::delete($uri, $callback); Route::options($uri, $callback); //使用部分動詞 Route::match(['get', 'post'], '/', function () { // }); //符合所有動詞,則使用any Route::any('foo', function () { // }); Route參數 Route::get('/user/{id}',function($id){ return 'user_id:'.$id; }); //預設參數值 Route::get('posts/{post}/comments/{comment}/type/{type?}', function (...

Laravel-目錄結構

圖片
app目錄 包含應用程式的核心程式碼 bootstrap目錄 包含的檔案用來啟動框架和設定自動載入;以及包含一個 cache 資料夾,其中內有框架對效能最佳化所產生的檔案,例如 route 和 services 的快取檔案。 config目錄 config 目錄包含所有應用程式的配置檔案。 database目錄 包含資料庫遷移與資料填充檔案 public目錄 存放著 index.php 檔案,此檔案為應用程式的 HTTP 請求入口點。此目錄還包含了前端資源檔,如圖片、JavaScript 和 CSS。 resources目錄 resources 目錄包含你的視圖、原始的資源檔 (LESS、SASS、CoffeeScript) ,以及語言檔。 routes目錄 routes目錄 Laravel框架預設的路由文件web.php, api.php, console.php。 storage目錄 主要是存放編譯後的Blade模板、session、框架產生的檔案以及系統的log檔案。這個目錄需設定為可寫入的權限。 tests目錄 主要是laravel支援TDD開發模式,在這個目錄中包含了PHPUnit測試的相關文件會放在這邊。 vendor目錄 composer命令用的相關模組都會放在這邊 維護模式 啟動維護模式,這時候Laravel會載入 resources/views/errors/503.blade.php 這個模板顯示維護中。 php artisan down 關閉維護模式 php artisan up

Laravel-安裝步驟

圖片
安裝環境 ubuntu-16.04.5 更新 Ubuntu apt-get update apt-get upgrade 確認目前版本 php -v 因為ubunt-16.04的php版本只到7.0,因此要手動加入repository add-apt-repository ppa:ondrej/php apt-get update 安裝php常用套件 apt-get install php-pear php7.2-curl php7.2-dev php7.2-gd php7.2-mbstring zip unzip php7.2-zip php7.2-mysql php7.2-xml 移除舊版本 apt purge php7.0* a2query -m php7.2 service apache2 restart 安裝 composer curl -sS https://getcomposer.org/installer | php sudo mv composer.phar /usr/local/bin/composer composer global require laravel/installer 修改環境變數 vim ~/.bashrc 在最下面加上 export PATH="$PATH:$HOME/.composer/vendor/bin" source ~/.bashrc 確認是否執行 laravel -v 建立資料夾 cd /var/www/html sudo mkdir laravel sudo chmod -R 777 laravel 新增專案 cd laravel laravel new blog 設定storage、bootstrap/cache權限為可寫 sudo chmod -R 777 blog/storage sudo chmod -R 777 blog/bootstrap/cache cd example-app php artisan serve 網址列輸入  http://127.0.0.1:8000 安裝環境 Windows WAMP安裝 WAMP   Composer 在安裝Composer時...