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

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

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…

Pythonのpsycopg2をWindowsにインストールする

Pythonの作業中に以下のエラーが出る場合はpsycopg2をWindowsにインストールする。 Error: pg_config executable not found.psycopg2はここからダウンロードすればOK。 http://stickpeople.com/projects/python/win-psycopg/

taiga.ioを試さなかった

Python3のプロジェクト管理ソフト、taiga.ioをインストールしてみた。 pip install -r requirements.txt https://github.com/taigaio/taiga-backと、思ったらDjango1.7 + Python3.4がMySQLに対応していないことに気がついたのでここでやめた。

パッケージ内にもroutes.phpを置く

パッケージ内用のroutes.phpを作りたいときはworkbench\vendor\packagename\src直下にroutes.phpを置く。次にサービスプロバイダーのboot()にroutes.phpを登録する。 public function boot() { $this->package(vendor/packagename); include __DIR__ . '/../…

Laravelのパッケージ開発でworkbench内のviewを指定する

Laravelのパッケージ開発でworkbench内にviewを作る方法を解説します。 まずパッケージ内にviewを作る 例えば以下のようにsrcフォルダ内にviewsフォルダを作り、その中にbladeファイルを入れる。 workbench\vendor\packagename\src\views\index.blade.php co…

SentryのControllerの例

Sentryを使ったLaravelのController、私は以下のように書いている。 public function doLogin() { $inputs = array( 'email' => Input::get('email'), 'password' => Input::get('password'), ); try { Sentry::authenticate($inputs, false); $cookie = Coo…

Laravel-ExcelでCSVファイルの読み込み

CSVを扱うLaravelパッケージはいくつかあったけど、一番便利だったのはLaravel-Excelだった。こんな感じで読み込める。 $csvs = Excel::load('test.csv')->setDateFormat('Y-m-d')->toArray();

ログイン時のemailアドレスをcookieから取り出す

ログイン画面を使う場合はIDやemailアドレスなどをcookieから取り出したい。 $email = Cookie::get('email'); return View::make('layouts.login')->with('email', $email);

CentOS 6.0にgccを入れた手順メモ

CentOS 6.0にgccを入れた時の手順メモ。 rpm -Uvh glibc-common-2.12-1.132.el6.x86_64.rpm glibc-2.12-1.132.el6.x86_64.rpm rpm -ivh nss-softokn-freebl-3.14.3-9.el6.i686.rpm glibc-2.12-1.132.el6.i686.rpm rpm -ivh libgcc-4.4.7-4.el6.i686.rpm rpm …

Configに設定した値でセレクトボックスを作る

Formのselectを使うときに、そのvalueはConfigから持ってくることが多い。私の場合は以下のようにしている。 {{ Form::select('movies[]', Config::get('movies.title'), $movies , ['multiple' => true,'data-rel'=>'chosen','class'=>'span12']) }}

Linuxでフォルダリンクを強制上書きで貼る

Linuxでフォルダリンクを強制上書きで貼るコマンド。 ln -snf /var/www/futari/public /var/www/html/futari

Perlスクリプトと同ディレクトリにある自作パッケージにパスを通す

Perlスクリプトと同ディレクトリにある自作パッケージにパスを通す方法。 use FindBin qw($Bin); use lib "$Bin"; use Mypackage;

Laravel5(開発版)でモデルを使う

Laravel5 devだとモデルが今まで通りに使えなくなっていた。名前空間「\App」を指定しなきゃダメみたい。

Laravelを使ったライセンス管理ソフトウェア Snipe-ITのインストール

Laravelを使ったライセンス管理ソフトウェアでSnipe-ITというのがあった。Laravel4.1とSentry2を使う。試しにインストールしてみた。 snipe/snipe-it · GitHub composer updateをかける インストールの仕方はよくわからなかったので、ZIPを解凍してcomposer …

Dokuwikiで必要なプラグイン

Dokuwikiを使っていたら「pagelistプラグインが無いですよ」エラーメッセージが出てきた。pagelistは他のプラグインからも使われているので、無条件でを入れておいても良いかもしれない。 Helper plugin pagelist is not available or invalid.ちなみにDokuw…