Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
最近業務でLaravel+Vue.jsでの開発を始め、そのさいVSCodeを使用しています。 そのさい入れた拡張機能や設定など環境構築のメモ書きです。 貼ってる拡張機能や設定以外にも便利なのがあれば教えていただきたいです。 はじめに 一応前提条件としてXAMPP、VSCodeはインストール済みとしてやっていきます。 環境としてはWindows10、PHPはXAMPPでPHP7.1.9を入れています。 また、途中パス名などが出てきますが、それは各自の環境で読み返してください。 環境構築 VSCodeの設定 左下の歯車マークから設定を選んでやっていきます。 上の検索ボックスにphpと打ち込んで変更すべきものを探します。
CakePHP3 + Selenium3 + Facebook WebDriver + PHPUnitでテストを加速させる 私はテストがしたい! 地獄みたいなタイトルで申し訳ございません。 本当に申し訳ございません。 PHPUnitはその昔、Seleniumに対応した拡張機能がありました 昔々、PHPUnitはSeleniumに対応した拡張機能がありました。しかし、Selenium2のみの対応を機に拡張機能は亡くなってしまわれたのです。Selenium3には対応していません。 しかし、代替機能はある 優秀なテスト用ライブラリに facebook/php-webdriverがあります。 これをPHPUnitに埋め込めば、Seleniumを介してブラウザのヘッドレスのテストを行う事が可能です。 インストール Selenium Standalone Serverをダウンロードしてく http:/
tl;dr UUIDは場合によっては使ったほうがよい。 LaravelでUUIDを使う場合は、Modelを継承してそこにUUID用の記述を書く。 UUIDについて みなさん、UUIDつかってますか? Laravelでアプリケーションをスクラッチで組む際は、 基本的にIncrementalなID(1,2....)を使うことが多いと思います。 ただ、時と場合によっては、UUIDを使いたい/使わないといけないということも出てくるかと思います。 もともとUUIDでDBMSが動いていた場合 テーブルのレコード総数をそとから隠蔽したい場合 その他色々。。。誤魔化し誤魔化し 参考(重要) この記事ではUUIDをいつ使うべき?というお話はしません。 いつ使うべきか、というのを知りたい方は、下の宗教戦争をお読み下さいw Against UUID: Why Auto Increment Is A Terrib
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 何があったし すごい今更感(1.7.2のリリースは2014年7月)ですけど、業務で使用してリリースした後はすっかりご無沙汰だったので気づけませんでした…。びっくりしすぎて思わず投稿してしまいました。てっきり1.8になったら ViewModel が廃止になるだけだとばかり思っていました。 GitHubのChangelogにこうありました。 fuel/CHANGELOG.md at 1.7/master · fuel/fuel · GitHub As of 1.7.2, the Viewmodel class is deprecated,
はじめに はい、クエリビルダネタです。どれだけの人が書いたかわからない程のネタです。今回はその中でも少しだけレア度の高そうなバルクインサートについてご紹介します。 バルクインサート? ご存知の通りバルクインサートとは、一度のINSERT文で複数レコードを DB にインサートできるものです。プログラムからクエリ発行する場合、ループでINSERT文を発行すると残酷な運命しか待ち受けていません。それを一度のインサートでドサッと行ってしまうことで、クエリ発行数が激減、高速化が図れるというわけです。 参考 インサート(insert)の処理方式別のパフォーマンスを検証 : 株式会社インターオフィス 注意その1 普通のINSERT文の場合、PDO などの戻り値はインサートされたレコードの auto_increment 値だったりするわけですが、バルクインサートの場合は「最初にインサートされたレコードの
FuelPHP v1.7.2から、MongoDBのLIKEメソッドを利用して、前方一致検索を使用する場合の注意点。 正規表現を使って抽出しようとしたが、どうしてもFuelPHPのMongo_Dbクラスのlikeメソッドでは結果が正しくない。 coreのソースを確認して見ると、正規表現で値を渡しても、likeメソッド内部でメタ文字がクォートされてました。 coreのソース(/core/classes/mongo/db.php)をゴニョゴニョ変更して対応。 (他にもっといい方法があるかもしれないが、とりあえずこれで対応) 以下、変更箇所。 public function like($field = '', $value = '', $flags = 'i', $disable_start_wildcard = false, $disable_end_wildcard = false) { $f
初、Advent Calendarです。よろしくお願いします(^o^) この記事は、CakePHP 3 Advent Calendar 201513日目用に書きました。 Queue Pluginって? イケメンのMark S.さんが作ってくれている、CakePHP Queue Pluginのことです。 DBにTaskを追加して、Queue用のworkerを動かしておくと、定期的にTaskを実行してくれます。 なぜ、Queue Pluginを使ったか スクレイピングでデータを貯めて、それを参照するWebアプリを作っています。 定期的にスクレイピングしてデータを貯めていますが、それが追いつかない時に、追加でスクレイピングしてくれる仕組みがあると良いなと考え、調べた結果、Queue Pluginを使ってみることにしました。 ※スクレイピングの実行間隔を狭めれば良いんじゃないかとか思いましたが、ま
概要 FuelPHPで作成しているシステム内で、 他のサービスのAPIを利用したい場合の方法。 FuelPHPにあるパッケージを使って行う。 WebAPIを利用する 以下のようにできた。 サンプルコードで叩いているAPIは、Slackのもの。 https://api.slack.com/methods/users.list <?php namespace Fuel\Tasks; class Test { public function run() { // APIのトークン $token = ''; // Request_Curlを生成 // http://fuelphp.jp/docs/1.7/classes/request/curl.html $curl = \Request::forge('https://slack.com/api/users.list', 'curl'); //
<?php public static function login_validate() { $val = Validation::forge(); $val->add_field('email', 'Email','required'); $val->add_field('password', 'パスワード', 'required'); $email = Input::post('email'); $password = Input::post('password'); $val->add('dummy', 'dummy')->add_rule( function () use ($email, $password) { // login_validate if (!$email || !$password) { return true; } $user = Model_User::q
概要 PHPのビルトインサーバを使っていたが、環境変数を外から設定することができない。 FUEL_ENVを設定してモードを切り替えが気軽にできないので不便だった。 ビルトインサーバを書き換えるのは難易度が高そうだったので、 Plack上で動かすことで環境変数を設定できるようにした。 Plackで動かすためのスクリプト スクリプトは以下のようになる。 use Plack::App::CGIBin; use Plack::App::PHPCGI; use Plack::Builder; use File::Zglob; my $DOCROOT = 'public'; my $php_cgi = ''; $php_cgi ||= `which php-cgi`; chomp($php_cgi); my $static = Plack::App::File->new(root => $DOCROO
// 基本形 DB::select()->from('hoge')->execute()->as_array(); // join DB::select()->from('hoge') ->join('moge','left')->on('hoge.moge_id','=','moge.id') ->execute()->as_array(); // order by DB::select()->from('hoge') ->order_by('hoge.pub_date','desc') ->execute()->as_array(); // group_by DB::select()->from('hoge')->group_by('hoge.moge_id') ->execute()->as_array(); // sumを取りたい DB::select(DB::expr('sum(
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く