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

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

2014-01-01から1年間の記事一覧

Laravel5のスタート画面の格言たち

Laravel5のスタート画面では、格言がランダムで表示されるようになった。↓白くて薄い! どうやって表示しているのだろう?と思ってtemplateの内容を見てみたら Inspiring::quote()というメソッドが格言を表示していた。ソースを追ってIlluminate\Foundation…

Pycharm上でプログラムが実行できなかった

Pycharm上でプログラムが実行できなかった。調べたらpython interpreterの設定が「None」になっていた。何も設定しないとそうなるのかよ。 Python.exeを指定したら動いた。

LaravelのEloquentで複数条件を指定する

Eloquentのwhereメソッドは重ねることもできる。 Title::where('type', '=', $type)->where('rank', '>', '100')->get();「orWhere」というのもある。 Title::where('type', '=', $type)->orWhere('rank', '>', '100')->get();

Pydio vs Owncloud

ファイル管理のためのソフトが欲しかったけど、PydioとOwncloudのどっちが便利か悩んで決められなかった。だから両方ともサーバに入れてみた。ところがOwncloudはちょっとバージョンアップしたらぶっ壊れてしまった。Pydioは5.2から6.0のバージョンアップも…

Perlでn次ハッシュを使った時のメモ

Perlでn次ハッシュを使った時のメモ use strict; use warnings; my %hash; my @array1 = ('1','2','3'); my @array2 = ('a','b','c'); my @array3 = ('A','B','C'); foreach my $value1 (@array1) { foreach my $value2 (@array2) { foreach my $value3 (@ar…

4つの言語の感想

書くネタが無いので。Perl → 昔は大好きだったけど、古くなりすぎた気がする。 Python → 楽しい。Pycharmエディタが便利。でもPython3の情報をググって読むのは大変。 PHP → CMSとLaravel使うときだけ。 Ruby → 便利そうだけど覚える気はない。

Eloquentを使ってfindの前後を取得する

Eloquentを使ってfindの前後を取得するテクニックがあった。 How to get previous / next records in DB with Eloquent. (Page 1) / Laravel 3.x Code Samples / Laravel Forumsなるほど、モデルにそういうメソッドを追加すればいいのか。idだったら上記のテ…

LaravelのEloquentでID値が指定できない

下記のようにidを指定してcreate()しても、指定した数ではなくて通番になっていた。 $name = Name::find(4); Title::create(['id' => $name->id])モデル上でidを保護しているのが原因だった。

さくらのレンタルサーバにLaravel4.2をインストール

以前にも似たエントリ書きました。 さくらのレンタルサーバにLaravelをインストール - ふたりはララベル (Laravel PHP Framework) 以前との違いは Laravel 4.2 が対象。 publicを移動せずにシンボリックリンクを貼る。 です。 インストールディレクトリを…

LaravelのEloquentでテーブルを消去する

LaravelのEloquentからtruncateも実行できる。 Mymodel::truncate();

LaravelのWorkbenchでdb:seedを実行する

LaravelのWorkbench内にSeederを作ってdb:seedしたい。まず以下のフォルダを作る。 workbench\your_vendor_name\your_package_name\src\database\seedsseedsフォルダ内で普通にSeederを作る。ちなみに以下の例ではFakerを使ってSeederを作ってみた。

Bootstrapのモーダルで枠外をクリックしても解除させない

Bootstrapで、モーダルウィンドウの枠外をクリックしても解除させないためには「data-backdrop="static"」を設定する。 <div class="modal hide fade" data-backdrop="static" id="myModal"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal">×</button> <h3>Settings</h3> </div> <div class="modal-body"> <p>Here settings …</p></div></div>

HTMLのbuttonタグに送信機能を持たせたくない

HTMLのbuttonに機能を持たせたくないときは「type="button"」とすればよい。Bootstrapでボタンをラベル代わりに使うときに便利。 <button type="button">WARNING</button>

phpMyAdminからXMLエクスポートしたファイルをPHPで扱う

PHP

phpMyAdminからXMLエクスポートしたファイルをPHPで扱ったときのメモ。 $xmlData = simplexml_load_file('dare_comments.xml'); foreach ($xmlData->database->table as $xml) { $data = [ 'id' => $xml->column[0], 'name' => $xml->column[1], ]; Title::c…

Laravelでworkbenchのconfigをコピーする

Laravelでパッケージのconfigをコピーするときはconfig:publishを使う。 # php artisan config:publish vendor/packageしかし自作パッケージの場合は失敗する # php artisan config:publish myvendor/mypackage [InvalidArgumentException] Configuration no…

OctoberCMSをインストールしてみた

Wordpressに飽きてきたので、OctoberCMSをインストールしてみた。install.phpを使うとインストール前チェックでエラーが出るので、Composerを使ってインストールしたら成功した。下記ページの「Composerによるコマンドラインからのインストール」に従えば出…

LaravelでConfigから値を取りだす

Config内で連想配列を使った場合、キーを指定すれば値を取りだすことができる。 Config::get('myconfigfile.array')['mykey']Blade上でループも可能だ。 @foreach(Config::get('myconfigfile.array') as $key => $value) {{ $value }} @endforeach()

League/CsvをLaravelで使う

PHPでCSVを扱うパッケージの「League/Csv」をLaravelで使用してみた。 インストール composer.jsonのrequireに以下を追記して、composer updateする。 "league/csv": "~6.0" CSVを読み込む タブ区切りのCSVファイルを読み込んでみた。

Eloquentでmaxを使う

めっちゃ簡単だった。 Title::max('vote');

Laravelでis not nullを使う

LaravelのEloquentでは Title::where('year','is not',null)->get();という書き方はうまく動作しない。 Title::whereNotNull('year')->get();が正しい。

Laravel5でHTMLとFORMを使う

Laravel5開発版ではHTMLとFORMがデフォルトから消されたため、使う際にはComposerを使ってインストールする。 composer.jsonに追記する illuminate/htmlをcomposer.jsonに追記してcomposer updateする。Formもこの中に含まれる。 "require": { "laravel/fram…

Sentryでログインユーザ情報を取得する

Sentryでログインユーザ情報を取得するには、getUserメソッドを使えばよい。 $user = Sentry::getUser();値を直接取得することもできる。 $id = Sentry::getUser()->id;

Form::modelでエラーが発生する

Form::modelでMethodNotAllowedHttpExceptionのエラーが発生する場合は、methodの設定間違いの可能性がある。「'method' => 'PUT'」を足したら直った。 {{ Form::model( $task, ['route' => ['tasks.update', $task->id], 'role'=>'form', 'method' => 'PUT'…

NetbeansでPHP開発

PHP

NetbeansでLaravel開発するときは、PSR-2に合うように以下の設定をしている。 改行設定 ツール オプション エディタ フォーマット 言語:PHP の順に開き 「カテゴリ:中括弧」→「メソッド宣言:改行」 「カテゴリ:中括弧」→「クラス宣言:改行」 「カテゴリ:改行…

Sentryでconfig設定忘れでエラー

Sentryでconfigのコピーを忘れていると以下のようなエラーがでる。 Array to string conversion以下のコマンドを打てばconfigがコピーされる。 php artisan config:publish cartalyst/sentry

Bladeのforeach内で変数をカウントする

Bladeのforeach内で変数をカウントするには…普通にPHPを書けばよい。 @foreach($titles as $title) @endforeach

Oxwallで自動ログアウトを無効にする

Oxwallでログイン状態を保持するには、自動ログアウト機能(deleteExpired)を無効にする。 public function deleteExpiredOnlineUsers() { $timestamp = time() - 30 * 60; #$this->userOnlineDao->deleteExpired($timestamp); }

workbenchのエラーはcomposer updateで直す

workbenchを使って自作パッケージを作っているとエラー出るときがある。 >php artisan {"error":{"type":"Symfony\\Component\\Debug\\Exception\\FatalErrorException","me ssage":"Class 'Antron\\Tasktable\\TasktableServiceProvider' not found","file"…

自作パッケージのBladeでextendsする

自作パッケージのBladeでextendsしたいときはパッケージ名を指定すればよい。 @extends('mypackagename::default') @section('content') <div class="container bs-docs-container"> <div class="bs-docs-section"> <p>Hello</p> </div> </div> @stop

Laravel5で変わったところ

開発版のLaravel5を触った雑感。 BaseControllerが無くなった。 php artisan migrate:makeが無くなりphp artisan make:migrationになった。 環境設定ファイルが.envになった。 viewがapp直下からresources直下に移った。 HTMLとFORMが無くなった make:comman…