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

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

PostgreSQLで大文字小文字検索

「iLIKE」を使えば、PostgreSQLで大文字小文字関係なく検索できる。 Mymodel::where('name', 'iLIKE', $name)->first();

Laravel5.3のログインをメールアドレス以外にする

Laravel5.3で、またやり方が変わったみたい。編集対象のファイルは App\Http\Controllers\Auth\LoginController.php public function username() { return 'username'; }

XserverではOwncloud9以降がインストールできない

XserverではOwncloud9以降がインストールできなかった。libxml2のバージョンが低いから。これは困った。しょうがいないからOwncloud8を使うしかないんだけど、Owncloud8だとPHP7に対応していない。つまりXserverのPHPが7以上にあげられないのだ。

Laravel5.2からコンテナ登録方法が変わった

古い書き方 $this->app['myapp'] = $this->app->share(function($app) { return new Myapp; }); 新しい書き方 $this->app->singleton('myapp',function($app) { return new Myapp; });

Laravel5でajax

Laravel5.2系の古いバージョンでajax動かしていたんだけど、5.2系の新しいバージョンだと動かない。よくわからないけどTOKEN入れないとダメらしい。js側 $.ajaxSetup({ headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') } }); ヘッ…

XserverのPHPでエラー

Laravel5.3をXserverで動かそうとしたらエラーになった。 [ERROR] Use of undefined constant STDIN - assumed 'STDIN'bootstrap/autoload.phpの先頭にdefine('STDIN', fopen('php://stdin', 'r'));を置いたら収まった。何だったんだ。

Laravelのmigrate:resetで外部キーエラー

Laravelで php artisan migrate:resetしたら、以下のエラーが出た。外部キー関連のエラー。 SQLSTATE[23000]: Integrity constraint violation: 1451 Cannot delete or upda te a parent row: a foreign key constraint fails (SQL: drop table if exists `t…

Laravelのログインをメールアドレス以外にする

AuthControllerに「protected $username = 'name';」を足す。

XserverにLaravelを置くときの.htaccess

<IfModule mod_rewrite.c> suPHP_ConfigPath /home/MyServerName/MyDomain/xserver_php/ AddHandler x-httpd-php5.5 .php .phps AddHandler fcgid-script .php .phps FCGIWrapper "/home/MyServerName/MyDomain/xserver_php/php-cgi -c /home/MyServerName/MyDomain/xserver_php/php.</ifmodule>…

LaravelのPHPUnitでログインする

LaravelのPHPUnitでログインする。 class AccessTest extends TestCase { public function setUp() { parent::setUp(); $user = \App\User::where('name', 'dummy')->first(); $this->be($user); } public function testBasicExample() { $this->visit('home…

phpdocを準備しないで使う

私はphpDocumentorが好きなんだけど、Windows上だとインストールが大変苦労する。なので「phpDocumentor.phar」から直接実行している。 phpDocumentor.pharをダウロードする ここにphpDocumentor.pharがあるのでダウンロードする。 github.com phpDocumentor…

Laravel5.2のアプリケーション名を変更する

Laravel5.2のマニュアルからアプリ名変更のコマンドが消えていたのでメモ。 $ php artisan app:name Horsefly

Windows Xammp環境にphpcsをインストールする

PHP

Windows Xammp環境だとphpcsのバージョンは1.3でだいぶ古い。これだとPSR2が使えない。最新のバージョンをインストールする。 pear install PHP_CodeSniffer-2.5.0 phpcs --config-set encoding utf-8 phpcs --config-set default_standard PSR2参考サイトPH…

pear上でのインストールに失敗する

Pearの作業フォルダのデフォルトはCドライブなので、インストールに失敗することがある。 D:\xampp\source\futari>pear install PHP_CodeSniffer-2.5.0 downloading PHP_CodeSniffer-2.5.0.tgz ... Starting to download PHP_CodeSniffer-2.5.0.tgz (480,157…

phpdocが見つからないとき

# phpdoc Could not open input file: \phpdocこういう時はpearって打てば直る # pear

WindowsのXampp環境でphpDocumenterをインストールする

PHP

7-Zipが入っているにも関わらず「ERROR: unable to unpack」エラーが出る。どうやら旧バージョンじゃないと解凍できないみたい。 pear channel-discover pear.phpdoc.org pear uninstall phpDocumentor pear install phpdoc/phpDocumentor-2.8.1

Laravel5のSeederでユーザ自動登録

Laravel5のSeederでユーザ自動登録 class UserTableSeeder extends Seeder { public function run() { \Myapp\User::create([ 'email'=>'Myemail@hatena.ne.jp', 'name'=>'myname', 'password'=>Hash::make('mypassword'), ]); } }

Owncloud VS Pydio

以前「Pydioを選ぶぞ!」って書いたけど、Pydioのアンドロイドクライアントの日本語未対応っぷりに辟易した。なのでOwncloudに切替中。

Owncloudのhtaccess

Owncloudをレンタルサーバーで使う場合は.htaccessファイルを編集する必要がある。「Options -Indexes」をコメントアウトするのだ。 #Options -Indexes

Laravelでファイルを生成せずにファイルダウンロード

Laravelでファイルを生成せずにファイルダウンロードしたときのメモ $stream = fopen('php://temp', 'w'); foreach (Title::all() as $title) { fputcsv($stream, $title->toArray()); } rewind($stream); $csv = mb_convert_encoding(str_replace(PHP_EOL, …

Laravelでファイルダウンロード1

Laravelでファイルをダウンロードしたときのメモ。 public function export() { $tables = Table::all(); $filename = 'downloadfile.csv'; $handle = fopen($filename, 'w+'); fputcsv($handle, array('created at')); foreach ($tables as $row) { fputcsv…

NetBeansのPSRでエラー

PHP

NetBeansでLaravelのソースを書いていたら、Lalasniffの記述チェックで The closing brace for the class must go on the next line after the bodyというメッセージが出てしまった。これは閉じカッコ前に空行があるので間違っている。

phpDocumentorをインストールする

PHP

phpDocumentorをインストールするコマンドは以下の通り。 pear channel-discover pear.phpdoc.org pear install phpdoc/phpDocumentorでも、たいてい失敗する。その場合は pear clear-cacheキャッシュクリアしてもう一度実行する。 ちなみにphpdocコマンドを…

Python3でキーボードの入力待ち

Python3でキーボードの入力待ちをするにはinput()を使う。 key = input('続けるには y を入力してください。')

lalasniffでスペースの入れ忘れ

lalasniff使っていたら以下のエラーが出た。functionの後にスペースの入れ忘れたのが原因だった。 Expected 1 space after FUNCTION keyword; 0 found誤:$this->app->share(function($app) {正:$this->app->share(function ($app) {

Python3で円マーク付きの文字列を扱う

文字列にrをつけるみたい。 folder_path=(r"\\127.0.0.1\xampp")

Laravelでパッケージ用のConfigをコピーする

Laravelでパッケージを使う場合には、Configをコピーしてから使う。オリジナルのConfigはcomposer updateのたびにデフォルトに戻るからだ。 「config:publish ベンダ名/パッケージ名」でConfigがapp/config/packagesにコピーされる。 >php artisan config:pu…

Windowsでlaravel/installerを使ってみる

一応メモを残すけどlaravel/installerは不便だった。「composer create-project」のほうが便利。Windowsだと「laravel new」が失敗する。 > composer global require "laravel/installer=~1.1" Changed current directory to C:/Users/futari/AppData/Roamin…

Winscpを使って自動ダウンロード処理を書く

winscp.comをCMDから直接実行する際に/scriptオプションでテキストを指定する。 "C:\Program Files (x86)\WinSCP\winscp.com" /script="myserver.txt" myserver.txtの中身。 option batch on open admin:password@127.0.0.1 get /tmp/backup.tar close exit

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

Form::openで直接メソッドを指定する。 {{ Form::open(['action' => ['UserController@change', $user->id]]) }} {{ Form::close() }}これにはroute.phpへの記述も必要。 Route::post('user/change', 'UserController@change');