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

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

2014-06-01から1ヶ月間の記事一覧

Form::textにautofocusを設定する方法

Form::textにautofocusを設定する方法は以下のとおり。 Form::text('username',null,['autofocus'=>'autofocus'])

配列からnullを置き換える

PHP

こんな書き方があるのか。 $cells = array_map(function($value) { turn is_null($value) ? '' : $value; }, $cells );

Laravel上でWordPressのRSSを解釈する

まずWordPressのRSSをjson形式にする。プラグインのfeed-jsonが便利。 後はLaravel上でfeedのURLを指定すればいい。 $source = json_decode(file_get_contents('http://futari.com/?feed=json'));

whereHasを使う

単なるメモです。 $title = new Title(); $titles = $title::whereHas('user', function($q) use ($where) { $q->whereRaw($where); })->get();

Sentryでパスワードが一致しているか確認する

Sentryでパスワードが一致しているか確認するときはcheckPassword()メソッドを使う。 詳しくはSentryのマニュアルで。Sentry Manual :: Cartalyst

ErrorException: Constant already definedが出る

LaravelでPHPunitを使うと ErrorException: Constant AWK already definedというメッセージが出る。自作した定数値設定ファイルのconstants.phpを二重読み込みしているみたい。他に解決作ありそうだけどとりあえず require_once 'constants.php';で回避した。

Laravelのペジネーションを改造する

オフィシャルで薦められている方法でやってみた。これはLaravel4.2のやり方。CharismaPresenter.phpを作ってみて、中身は以下のとおり。 <a>'.$text.'</a></li>'; } public function getDisabledTextWrapper($text) { r…

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() <> '…