ふたりはララベル (Laravel PHP Framework)

PHPフレームワークのLaravelの体験記を書いていきます。こんなタイトルのブログですが萌え系アニメは一秒たりとも観たことがありません。

Laravel-Excelが上手く動かない

Laravel-Excelが正常にエクセルファイルを読み込んでくれなかったけど、エクセルの見出し行の読み込みが怪しかったので、vendor\maatwebsite\excel\src\config\import.phpのheadingをfalseにしたら動いた。

Laravelのソースコードチェック

Laravelのソースコードチェックを簡単にできるlarasnifferが便利だった。composer.json使ってインストール。 "leroy-merlin-br/larasniffer": "dev-master"config/app.phpにサービスプロバイダーを追加する。 'LeroyMerlin\LaraSniffer\ServiceProvider',art…

route.phpでコントローラのメソッドを指定する

俺くらいの初心者にもなればこんな事も知らないのだ。 Route::any('awk/search', 'AwkController@search');

Eloquentでテーブルの別名を設定する

Eloquentでテーブルの別名を設定する場合。 class SentryGroup extends Eloquent { protected $table = auth_groups'; public $timestamps = false; protected $guarded = ['id']; }

DB::tableではtoArrayが使えない

リンク先に書いてあるけどDB::tableではtoArrayが使えない。Eloquentを使うしかない。 DB query builder toArray() laravel 4 - Stack Overflow

Laravelでエラーメッセージの一例

やり方は色々あるけどとりあえず、app\global.phpに下記を追加した。エラーが発生したらTOP画面に遷移する。 App::error(function(Illuminate\Database\Eloquent\ModelNotFoundException $exception) { Log::error($exception); $message = $exception->getM…

Laravelでペジネーションとgetを同時に使う

getメソッドは欲しい要素だけを手に入れることができる。 $titles = Title::get(['id', 'title']);これをペジネーションと組み合わせたい時は $titles = Title::paginate(10);第2引数に配列を渡す。 $titles = Title::paginate(10,['id', 'title']);

Laravelのキャッシュクリア

Laravelのキャッシュクリアコマンド。 php artisan cache:clear

pearのエラー

pearを使った時に No releases available for packageというエラーが出てclearしても直らない場合は pear config-showで設定を確認してみる。プロキシの設定忘れとかあるかもしれない。

ララベルな女性たち

フレームワークの名前の「Laravel」だけど、「ララベル」っていうと魔法少女アニメの影響もあってか女性的なイメージがある。そもそも「ララ」も「ベル」も女性っぽい響きだ。Laravelに似た発音で画像検索してみた。ふくよかな体型したモデルのLala Belleさ…

workbenchでコマンドを作る

workbenchにコマンドを作ってみた。ベンダーはfutariでAwkというサービスプロパイダーが既に作られている場合、以下のようになる。 php artisan command:make AwkCommand --command=awk:shodoku --path="workbench\futari\awk\src\Futari\Awk"これでworkbenc…

自作コマンドのオプション取得方法

php artisan awk:shodoku -dというオプションを設定したい場合は以下のようにする。 /** * Get the console command options. * * @return array */ protected function getOptions() { return array( array('drop', 'd', InputOption::VALUE_NONE, 'An exam…

URLのクエスチョンマーク以降を取得する

例えば http://laravel/?query=wordの「word」を取得したい場合はInput::get('query')で取れる。これを使って検索ボックスを作るときは以下のようになる。 <input placeholder="Search" class="search-query span2" name="query" type="text" value="{{ Input::get('query')}}">

Laravel4.2で危険なコマンドが対話式になった

Laravel4.2を使ってみたけど、一番良いのはmigrateコマンドが対話式になったことだな。うっかり危険なコマンドを実行するのを避けられる。 C:\xampp\fireant>php artisan migrate ************************************** * Application In Production! * **…

Laravelで現在の環境を確認する

自分で設定した環境を忘れたときはartisanのenvコマンドで確認できる。このコマンドのおかげでapp/config配下の設定ミスに気がついた。 C:\xampp\fireant>php artisan env Current application environment: local

LaravelでFakerを使う

ユーザ名、メールアドレス、テキストなど適当なデータをでっちあげてくれるFakerというOSSがある。 composer.jsonのrequireに「"fzaninotto/faker": "v1.3.0"」と入れるとインストールできる。 Laravel上で使うときはfakerのautoload.phpをrequire_onceする…

filters.phpにログイン処理を書く

filters.phpのApp::beforeに「ログインしてなかったらログイン画面」という処理を書く⇒無限ループ。 ということをやってしまった。とりあえずの回避策でURL判定を入れたけど、他にもあるのかな。 App::before(function($request) { if (Request::path() <> '…

Form::checkboxでチェック無し時の値を渡す方法

Form::checkboxでチェック無しの時はInput::get('iam')は0ではなくて無になる。0を渡したい時はhiddenを埋め込んでおく。 {{ Form::hidden('iam', 0) }} {{ Form::checkbox('iam',1) }} ご本人ですか?

Form::openからメソッドを指定する

Form::openからメソッドを指定する。 {{ Form::open(['action' => ['UserController@change', $user->id]]) }} {{ Form::close() }}

Form::checkboxの作り方

例えば以下のようなチェックボックスをLaravelのFormで作りたいときは <input class="iphone-toggle" data-no-uniform="true" name="doit" type="checkbox" value="1">このようにする。 {{ Form::checkbox('doit',true,[],['class'=>'iphone-toggle','data-no-uniform'=>'true']) }}

Laravelで開発環境と本番環境の設定を分ける

まずは開発環境のホスト名を調べる。以下の例だと「windows-PC」がホスト名だ。 C:\Users\public>hostname windows-PC「bootstrap\start.php」の「Detect The Application Environment」の「your-machine-name」をホスト名に変更する。 /* |----------------…

LaravelとCharismaのペジネーションの不具合

LaravelとCharismaでペジネーションをすると表示が崩れる。「vendor\laravel\framework\src\Illuminate\Pagination\BootstrapPresenter.php」を編集して、以下の二箇所にaタグを追加すれば想定通りの表示になる。 /** * Get HTML wrapper for disabled text.…

LaravelでExcelを扱う

Maatwebsite/Laravel-Excel · GitHubが、かなり便利だ。インストール方法はリンク先に載っているけど、composerでインストールして、app.phpにサービスプロバイダーとファサードを登録する。Excelの面倒な日付変換まで勝手にやってくれるのが嬉しい。 $xlss …

Pycharmでソースコードの自動フォーマット(整形)

Pycharmでソースコードを自動フォーマット(整形)したいときはCtrl + Alt + L を押す。

Laravelのバックアップとリストア

laravel-backupを使ったら超簡単だった。 schickling/laravel-backup · GitHub laravel-backupのインストール composer.jsonのrequireに "schickling/backup": "dev-master"を追加してcomposer updateする。 laravel-backupの登録 app/config/app.phpのサー…

LaravelとFuelPHPはどっちを選ぶべきか?

下のリンク先では「LaravelとFuelPHPどっちがいい?」という質問に対して回答者が「それはどっちの果物がいい?って質問しているようなものだよ」と諭している。 PHP: Laravel or Fuel PHP? - Stack Overflow色々なフレームワークが盛り上がっている状況で「…

Perlの日本語エラー

以下の様なエラーが出たら Non-ASCII character seen before =encoding in '日本語'. Assuming UTF-8日本語前にこの文字列を入れる。 =encoding utf8

BootstrapのCharismaでdataTableの設定をする

BootstrapのCharismaでdataTableの設定をするにはcharsima.js内を直接編集する。 //datatable $('.datatable').dataTable({ "sDom": "<'row-fluid'<'span6'l><'span6'f>r>t<'row-fluid'<'span12'i><'span12 center'p>>", "sPaginationType": "bootstrap", "o…

Laravel + Sentryで複数グループを持たせる

管理者権限かつ開発者権限とか渡すと便利。 $developer = Sentry::createGroup([ 'name' => 'developer', 'permissions' => array( 'admin' => 0, 'develop' => 1, ), ]); $admin = Sentry::createGroup([ 'name' => 'administrator', 'permissions' => arra…

Laravel + Sentryで特定の権限だけ処理を変える

まずSentryで開発者グループを作る。その際に'develop' に1を与える。 $developer = Sentry::createGroup([ 'name' => 'developer', 'permissions' => [ 'admin' => 0, 'develop' => 1, ], ]);次にUserをそのグループに所属させ、このユーザでログインする。…