トップ 一覧 置換 検索 ヘルプ RSS ログイン

Laravelの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!!!設定手順
+composerの準備
++ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
++ php composer-setup.php
++ composer.phar が出来上がる
++ 必要に応じて mv composer.phar /usr/local/bin/composer など
+インストール
++composerでインストール場合
+++composer create-project laravel/laravel --prefer-dist PROJECT_NAME
++zipからインストール場合
+++githubからダウンロード
+++composer update(zipに含まれないパッケージをダウンロードするため)
+++結局composerを使うことになる・・・
+.env 作成
++cp .env.example .env
++APP_KEY作成
++php artisan key:generate
+ディレクトリの書き込み権限
++ storage以下にapacheの書き込み権限
+タイムゾーン
++config/app.php
++'timezone' => 'Asia/Tokyo',
+ロケール
++config/app.php
++ 'locale' => 'ja',
+public/.htaccess
++RewriteBase /~user/hoge/public
++RewriteRule ^(.*)/$ $1 [L,R=301]


!!!HelloWorld

!!!ログ
 $message = ['a' => 1, 'b' => 2, 'c' => 3];
 logger($message);
 info($message);


!!!ルーティング
!!CakePHPのようなルーティング
https://stackoverflow.com/questions/35624907/laravel-5-2-routing-like-cakephp
CakePHPのようにURLとコントローラを命名規則で結びつける方法。

web.phpに追記
    Route::any('{anyRoute}', function($anyRoute){
         $call = "";
         $parts = explode("/", $anyRoute);
         $size = sizeof($parts);
 
         if($size > 0){
             $controller = ucfirst(strtolower(trim($parts[0])));
             $action = trim(array_get($parts, 1));
             $params = [];
 
             if(empty($controller)){
                 return view("welcome");
             }
             else{
                 if(empty($action)){
                     $action = "index";
                 }
             }
 
             if($size > 2){
                 unset($parts[0], $parts[1]);
                 $params = array_merge($params, $parts);
             }
 
             $object = app('App\\Http\\Controllers\\'.$controller.'Controller');
             return call_user_func_array([$object, $action], $params);
         }
 
    })->where('anyRoute', '(.*)');

http://hgoehoge/test/index にアクセスすると TestControllerのindexが実行される。


{{category2 プログラミング言語,PHP}}