Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
 
      
  
 
  
  先日ちょっとした機会があってSymfonyとLaravelの負荷テストを行ったことがありましたので、そのときの結果を共有させていただきたいと思います。 テスト環境 EC2: m4.large Amazon Linux: 忘れた Nginx: 忘れた php: 7.2 Laravel: 5.6 Symfony: 3.4 チューニングに関して phpはopcacheを有効にしてvalidateしない設定にしてチューニング。 php-fpmもプロセス管理をオートではなく、dynamicで設定。 max_childrenとかstart_servers, min_spare_serversとかを適宜設定。 システム要件 Nginxサーバでリクエストを受け付けて、同サーバ内のphp-fpmにFatCGI形式で投げる(unixソケット経由)。 Symfony/Laravelは同VPC内の別のAPIサーバ
 
      
  # -*- mode: ruby -*- # vi: set ft=ruby : Vagrant.configure("2") do |config| config.vm.box = "centos/6" config.vm.network "private_network", ip: "192.168.33.10" config.vm.synced_folder "../", "/mnt/project", :owner => "vagrant", :group => "vagrant", :mount_options => ["dmode=777,fmode=666"] config.ssh.insert_key = false config.vm.provision :shell, :path => "./provisioning.sh", :privileged => true e
 
      
  この記事の目的 Symfony3.4 Monolog Apache 上記の構成で ERROR発生時はDEBUGログ以上を出力 INFOログは常に出力する のようにログ出力を設定する必要があったのですが、 ググってもそのまま流用できるような情報が無かったので残しておきます。 FingersCrossedHandlerでログ出力レベルを柔軟に FingersCrossedHandlerを使用すれば、 特定のレベルを超えた場合のみログを出力することができますが、 デフォルトの設定だと正常終了時にログが何も出力されません。 常に出力したいログレベルがある場合は、このハンドラーのオプションで passthru_levelを指定する必要があります。 また、 ERROR発生時はDEBUGログ以上を出力 こちらを満たすには fingers_crossedのaction_levelにerrorを指定、 ne
![[Symfony][Monolog]特定のレベルのログは常に出力しつつ、エラー発生時は更に詳細なログを残す方法 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/2d2a31c53f5a0a7301a57727f816a644338f23d3/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fqiita-user-contents.imgix.net%252Fhttps%25253A%25252F%25252Fcdn.qiita.com%25252Fassets%25252Fpublic%25252Farticle-ogp-background-afbab5eb44e0b055cce1258705637a91.png%253Fixlib%253Drb-4.0.0%2526w%253D1200%2526blend64%253DaHR0cHM6Ly9xaWl0YS11c2VyLXByb2ZpbGUtaW1hZ2VzLmltZ2l4Lm5ldC9odHRwcyUzQSUyRiUyRnFpaXRhLWltYWdlLXN0b3JlLnMzLmFtYXpvbmF3cy5jb20lMkYwJTJGNTU5OTAlMkZwcm9maWxlLWltYWdlcyUyRjE0NzM2OTM4NjE_aXhsaWI9cmItNC4wLjAmYXI9MSUzQTEmZml0PWNyb3AmbWFzaz1lbGxpcHNlJmJnPUZGRkZGRiZmbT1wbmczMiZzPTVhODY3OGJmNWZmYmFjMDJjODU1MTMxYzRkZmJmZDJi%2526blend-x%253D120%2526blend-y%253D467%2526blend-w%253D82%2526blend-h%253D82%2526blend-mode%253Dnormal%2526s%253D4c1664f905a0231350d68b24d4f9bd7c%3Fixlib%3Drb-4.0.0%26w%3D1200%26fm%3Djpg%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk2MCZoPTMyNCZ0eHQ9JTVCU3ltZm9ueSU1RCU1Qk1vbm9sb2clNUQlRTclODklQjklRTUlQUUlOUElRTMlODElQUUlRTMlODMlQUMlRTMlODMlOTklRTMlODMlQUIlRTMlODElQUUlRTMlODMlQUQlRTMlODIlQjAlRTMlODElQUYlRTUlQjglQjglRTMlODElQUIlRTUlODclQkElRTUlOEElOUIlRTMlODElOTclRTMlODElQTQlRTMlODElQTQlRTMlODAlODElRTMlODIlQTglRTMlODMlQTklRTMlODMlQkMlRTclOTklQkElRTclOTQlOUYlRTYlOTklODIlRTMlODElQUYlRTYlOUIlQjQlRTMlODElQUIlRTglQTklQjMlRTclQjQlQjAlRTMlODElQUElRTMlODMlQUQlRTMlODIlQjAlRTMlODIlOTIlRTYlQUUlOEIlRTMlODElOTklRTYlOTYlQjklRTYlQjMlOTUmdHh0LWFsaWduPWxlZnQlMkN0b3AmdHh0LWNvbG9yPSUyMzFFMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZ0eHQtcGFkPTAmcz1mMWJlNmM2MTRmMDM5ZTNmOTBmNGM2MjVjNjlmYjJkYg%26mark-x%3D120%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTgzOCZoPTU4JnR4dD0lNDBta2l0YV9hJnR4dC1jb2xvcj0lMjMxRTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LXBhZD0wJnM9MWY0ZmFkNDZmY2I0Y2IyOWZkZTZjNzRkYmZhYzQ4YTY%26blend-x%3D242%26blend-y%3D480%26blend-w%3D838%26blend-h%3D46%26blend-fit%3Dcrop%26blend-crop%3Dleft%252Cbottom%26blend-mode%3Dnormal%26s%3Dbc2e610f59c0cf76e8b80ede0b2487c0) 
      
  SymfonyのCollectionTypeの日本語記事がなかったので書いてみます。 バージョンはEC-CUBE3.nで利用されているはSymfony3.4です。 参考 Symfony公式ドキュメント EC-CUBE SymfonyのCollectionTypeとは 1対多の関係にあるフォームを動的に作成するときに使うFormType。 CollectionTypeの基本的な使い方 この章はこちらの公式ドキュメントの例を私の言葉で解説したものです。 正確な情報は公式ドキュメントを参照してください。 CollectionTypeの表示 例えばE-mailの配列の入力フォームを表示させるには以下のようなFormTypeを作成します。 use Symfony\Component\Form\Extension\Core\Type\CollectionType; use Symfony\Compon
 
      
  SymfonyのFormの簡単な解説です。 詳細は公式ドキュメントを参照してください。 ステップは3つです。 Entityを作成 ControllerでFormの作成 Formのレンダリング Entityを作成 Entityはデータの箱で基本的にクラス変数とsetter, getterでできています。 フォームへ出力させるためにはsetterとgetterは必須です。 例えばタスクと期限を持つシンプルなTaskエンティティは以下のようになります。 class Task { protected $task; protected $dueDate; public function getTask() { return $this->task; } public function setTask($task) { $this->task = $task; } public function ge
 
      
  はじめに 今更ながら、FuelPHPに関わることになり 今更ながら、ローカル環境にてFuelPHP環境を構築する手順を踏んでみた 環境 Mac OS PHP 7.1 ※インストール済み Fuel 1.8 手順 以下2通りの手順があり、 コマンドラインによるインストール 手動によるインストール GitHub から最新のリリースを clone する GitHub から最新の開発ブランチを clone する 今回は 手動によるインストール とする。 参考:http://fuelphp.jp/docs/1.8/installation/instructions.html#/from_github インストール FuelPHPをGitHubから最新のリリースをcloneする。
 
      
  class SamplePaymentEvent implements EventSubscriberInterface { private $baseInfoRepository; // クラス変数を定義 // コンストラクタインジェクションでBaseInfoRepositoryを取得 public function __construct(BaseInfoRepository $baseInfoRepository) { $this->baseInfoRepository = $baseInfoRepository; // クラス変数にセット } public static function getSubscribedEvents() { return [ '@admin/Order/edit.twig' => 'onAdminOrderEditTwig', 'Shopping/ind
 
      
  diff --git a/app/config/eccube/bundles.php b/app/config/eccube/bundles.php index 9f22986894..5543baeee8 100644 --- a/app/config/eccube/bundles.php +++ b/app/config/eccube/bundles.php @@ -21,9 +21,9 @@ Symfony\Bundle\MonologBundle\MonologBundle::class => ['all' => true], Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle::class => ['all' => true], Symfony\Bundle\TwigBundle\TwigBundle::class => ['al
 
      
  なにがしたい? Laravelは「ディレクトリ構成が自由」と言われますが、それはネームスペースで管理されるクラスとそのPHPファイルのお話なんだと思います。 そうではなくて、Laravelフレームワークのシステムファイルや重要なデータが入っていそうな「標準のディレクトリ」≒「小文字のディレクトリ」は変更できるのでしょうか? 変更できるでしょ? やっといてね! というご要望を、最近ちらほら頂いたので、ざっくりまとめてみました。 仕様 変更できるかできないのか? にパッと答えられるようにするもの 詳しい変更方法は別の記事か、Google先生におまかせします 調査方法は主にLaravel5.5/5.6のソースコードをチェック ざっくりしていますので、ヌケモレ間違いがあるかもしれません。気づかれましたら、ご指摘いただけるとありがたいです。 参考 ディレクトリ構造(Laravelドキュメント) La
 
      
  リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く
