今日は、FuelPHPのプロジェクトのためのJenkinsサーバを構築してみます。 この設定で完璧というわけではないですが、いろいろなものが一通り動くレベルにはなってます。 FuelPHPプロジェクトを作成する FuelPHPのプロジェクトとして、ここでは、『はじめてのフレームワークとしてのFuelPHP 第2版(改訂版)』のコンタクトフォームを使います。 develop-2ブランチをgit cloneします。 $ git clone --depth=5 -b develop-2 https://github.com/kenjis/fuelphp1st-2nd-contact-form.git 以下は、プロジェクトがGitで管理されていることを前提としています。 Vagrantを使いサーバを構築する Vagrant CentOS6 PHP Development Environment(v
以前までの記事でデプロイ、テストの自動化ができたわけですから、これで後はゴリゴリコーディングするだけ、ということで、Route 53でドメイン購入までしたわけですが、いまさらになってGitHubをリポジトリホストに使うのはちょっと厳しいなと。 できればAWSのVPC内にGitサーバ立てて、プライベートなリポジトリホストを使用するつもりだったのですが、そのためにインスタンス立ち上げるのはもったいない、という理由からGitHubを採用していました。しかし、Jenkinsサーバを立てている現状、Jenkinsサーバにリポジトリホストとしての役割を兼任させればいいじゃんという結論に。 HTTP経由でリポジトリを参照するようにしようかなと思っていたところ、社内でGitBucketというGitHubのクローンでサーバ立てたという話を聞き、すごく良さそうだったので試してみることにしました。 GitBuc
アップロードされたファイルをチェックしたかったので…。 背景 DB へインサートした後に得られるシーケンス番号をファイル名にしたい。この時に入力値が不正だとインサート処理が上手く実行できず、シーケンス番号が取得できない。また、選択されたファイルが不正だった場合は、DB へのインサート処理をロールバックしなければならない。 このような無駄な処理を未然に防ぐには、入力値とファイルのチェックを行った後に DB 処理をするのが好ましい。(当社比) (アップロード時に発生したエラーはしょうがないので、あとでどうにかする) アップロード処理後にエラーがあればそれを返却したりするのだが、今回はアップロードの処理は行わず、エラーメッセージのみ取得しておく。 Upload クラスを使う。Upload::save()などは使わずにUpload::get_errors()でエラーを見てみる。 public st
<?php trait SingletonTrait { private static $self = null; protected function __construct(){} private function __clone(){} private function __wakeup(){} public static function getInstance(){ if(is_null(self::$self)){ self::$self = new self; } return self::$self; } } ... Autoloader::add_classes(array( // Add classes you want to override here // Example: 'View' => APPPATH.'classes/view.php', )); // R
一度、config まわりを理解してしまえば当然という設定方法ですが、上記ドキュメントを読んだだけでは、スムーズにいかずあれこれ試したので、ここで備忘録的に整理しておきます。 今回は、特に DB まわりの設定です。DB は複数利用します。 やりたいこと app とは別に共通利用したい platform モジュールを分割 app で利用する db の設定は、通常通り app/config/db.php や app/config/(環境)/db.php で管理 module で利用する db の設定は、通常通り module/platform/config/db.php や module/platform/config/(環境)/db.php で管理 上記設定状態で、通常通り app 内で app 用 DB にアクセス、module 内で module 用 DB にアクセス イメージとしては、
public function action_index() { return Response::forge(View::forge('welcome/index')); } Response::forgeとかView::forgeにカーソルを合わせてF3を押しても定義にジャンプする事はできません。 @kenjis さんのブログにある、Eclipse で FuelPHP のコード補完を行わせる冴えたやり方を参考に定義ジャンプできるように設定している方もいるかと思いますが、今回は、新しいファイルを生成することなく、定義ジャンプできるようにします。 やり方は簡単です。 Eclipseでグレップ置換して、Fuel名前空間を\から始めるようにします。
バリデーションルールはModelで定義しているのに必須項目はViewに直接※をつけているなんていうときにはもっと自動的にやっちゃおうよっていう感じのやつ Validationクラスを拡張 <?php class Validation extends \Fuel\Core\Validation { /** * If $field has 'required' rule, It will return true */ public function is_required( $field ) { $fields = $this->fieldset()->field(); if( isset($fields[$field]) ){ foreach( $fields[$field]->rules as $r ){ if( $r[0] == 'required' ){ return true; }
Thanks. I always find the release notes far more informative than a commit. After using Laravel 4 for an internal company tool I have a hard time recommending it (sadly, I was hopeful). I found the docs to be uneven in quality/scope, some key features (mostly around the ORM) missing and the 'feel' to be slightly off.It's hard to quantify, but I have used CakePHP, Yii, Rails (0.9 through 4), Django
PhpStormでLaravel5快適開発 おさらい Posted: 2015-02-01 00:12 | laravel PHP全般 みなさんPhpStorm使ってますか? 今回はそろそろ5が出るということもあり、Laravel開発で利用するにあたってPhpStormのおさらいです。 いいなぁ、と思った方はこれを機に乗り換えてしまいましょう! 今回はせっかくなので5にフォーカスします ▪️必須!Laravel IDE補完のための一歩 Laravelはマジックメソッドを利用して、 ファサードというサービスロケーターによる各コンポーネントへのアクセスを提供しているため、 IDEでは補完ができません。 このためLaravel IDE Helper GeneratorというLaravelパッケージを導入する必要があります。 この辺りは他のフレームワークを使っていた方は不自由だと感じるかもしれませ
PC向けのWebサイト・機能を開発したいと考えております。 ウェブエンジニア・プログラマの方を募集させていただきます。 お仕事の詳細: ▽ウェブ開発依頼の目的・概要 社内で利用する備品を購入申し込みするサイト(イントラネットで運用)の開発構築です。 その、プロトタイプの開発をお願いしたい次第です。 ▽開発する機能 他にもありますが、今回のお見積の対象としてこちらを開発した場合のお見積をお願いいたします。 1. 商品一覧画面 商品マスタから商品の一覧を表示します。 ・商品に詳細画面はありません。 ・カートに入れるボタンが必要です。 2. カートの中身表示 ・#1の画面からカートに入れたものを表示します。 ・表示位置は、#1の商品一覧画面の右側に表示します。 3. 購入申込み ・カートの中身を購入申し込みします。 ・決済は不要です。 ・社員番号のみを入力し、確認画面で確認、その後に完了画面を表
注意 現在X(旧Twitter)でのソーシャルログインができない事象を確認しています。事前にX(旧Twitter)側で再ログインした上でconnpassのソーシャルログインを行うか、 「ユーザー名(またはメールアドレス)」と「パスワード」の組み合わせでのログインをお試しください。合わせてFAQもご確認ください。 お知らせ 2024年9月1日よりconnpassサービスサイトへのスクレイピングを禁止とし、利用規約に禁止事項として明記します。 9月1日以降のconnpassの情報取得につきましては イベントサーチAPI の利用をご検討ください。 お知らせ connpassではさらなる価値のあるデータを提供するため、イベントサーチAPIの提供方法の見直しを決定しました。2024年5月23日(木)より 「企業・法人」「コミュニティ及び個人」向けの2プランを提供開始いたします。ご利用にあたっては利用
vagrant-layout というのを作りました。 koseki/vagrant-layout at plugin · GitHub この記事で書いていた環境を生成する Vagrant プラグイン&設定サンプル集です。 Vagrant を使って Mac からダブルクリックで操作できる仮想環境を作る - こせきの技術日記 インストール $ vagrant plugin install vagrant-layout でプラグインをインストールします。 Quickstart $ mkdir my-project $ cd my-project $ vagrant layout init php で各種ファイルを生成します。生成された、 sandbox/osx/start.command (Mac) sandbox/win/start.bat (Windows) をダブルクリックしてしばらく待つ
プロジェクト毎にデプロイの仕方は色々あるかとは思います。 わたしも、今作っているアプリケーションをどうやってデプロイしようかと思っていたのですが、せっかくなので何か新しいデプロイツールを使ってみることにしました。 Rocketeer Rocketeer http://rocketeer.autopergamene.eu/ https://github.com/rocketeers/rocketeer RocketeerはPHP製のデプロイツールです。 ファイルに定義したタスクを実行していくことでデプロイをします。 Laravelとの親和性が非常に高く(これが一番のウリだと思いますが)Laravelへ統合し、artisanでデプロイが可能です。 他のフレームワークでも十分使えるとは思いますが、Laravelだと特に恩恵を受けることができると思います。 今回やること ローカルホスト(Windo
{ if (! this.initialized) { search.start(); this.initialized = true; } if (value) { setTimeout(() => { this.$el.querySelector('input').focus(); }, 100); } }); }, }" x-dialog x-model="searchModalIsOpen" x-cloak class="fixed inset-0 z-10" @keydown.slash.meta.window="searchModalIsOpen = !searchModalIsOpen" @keydown.k.meta.window="searchModalIsOpen = !searchModalIsOpen" @keydown.escape.window="searchM
PDOの設定をしないと、1カラム1Mbyte(1048576 byte)までしか、取得できない。 でかく設定する必要あり。 app/config/database.php 'connections' => array( 'mysql' => array( 'driver' => 'mysql', 'host' => '**', 'database' => '**', 'username' => '**', 'password' => '**', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'options' => array(PDO::MYSQL_ATTR_MAX_BUFFER_SIZE => 16777216), ), 参考: https://github.com/laravel/frame
laravel の queue を daemon で動かすにはぐぐってみると supervisor を使っている事例が多く見つかる。 しかし、queue:listen (または queue:work --daemon) が pop した worker job を処理している最中でも、遠慮なく SIG* で終了させてしまう実装になっているように見えるため、タイミングによっては worker job が適切に完了されない場合もある。 ちなみに laravel の queue は 4.2 の実装では 2 種類存在する。 queue:listen は pop した worker job を Symfony/Component/Process/Process 経由で proc_open し、子プロセスとして処理する。 queue:work --daemon は自身のプロセス内で都度 worker j
注意 現在X(旧Twitter)でのソーシャルログインができない事象を確認しています。事前にX(旧Twitter)側で再ログインした上でconnpassのソーシャルログインを行うか、 「ユーザー名(またはメールアドレス)」と「パスワード」の組み合わせでのログインをお試しください。合わせてFAQもご確認ください。 お知らせ 2024年9月1日よりconnpassサービスサイトへのスクレイピングを禁止とし、利用規約に禁止事項として明記します。 9月1日以降のconnpassの情報取得につきましては イベントサーチAPI の利用をご検討ください。 お知らせ connpassではさらなる価値のあるデータを提供するため、イベントサーチAPIの提供方法の見直しを決定しました。2024年5月23日(木)より 「企業・法人」「コミュニティ及び個人」向けの2プランを提供開始いたします。ご利用にあたっては利用
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く