symfony

81 件の記事

2025

Symfonyで tailwind:build が失敗?原因と解決策を解説

SymfonyでTailwind CSSを導入する際、便利なバンドルとしてsymfonycasts/tailwind-bundleを利用することができます。このバンドルを使うことで、Tailwind CSSを簡単にビルドし、Symfonyのアセット管理と統合できます。 しかし、ある日 tailwind:build コマ…

2024

BEAR.SundayでDoctrine Migrationsを使ってみよう

最近はHTTP Cacheまわりにかなり興味がでてきたので、久しぶりにBEAR.Sundayを触っています。 全く覚えていなかったので、素振りをしようと思ってとりあえずチケットチュートリアルをやりました。 無事に素振りが終わって実際に趣味のアプリケーションのコードを書き始めようと思いましたが、データベースのマイグレーシ…

2023

nelmio/aliceでcurrentの値をintegerとして扱う方法について

ちょっと古いプロジェクトで、SymfonyのバージョンやPHPのバージョンを上げたいと思いましたがテストがないのでこわいなということで、テストを書き始めました。 nelmio/aliceを使ってテスト用のダミーデータを作っていましたが current まわりでちょっとつまずいてしまいました。 どのような問題が起きたのか…

DoctrineのDQLを使ってPostgreSQLの配列型JSONでLIKE検索をする

前回「PostgreSQLの配列型JSONでLIKE検索をする」という記事を書きました。 今回はこれをDoctrineで検索させるかというお話です。 前回調べた内容で発行するクエリ JSONB型のデータに対してLIKE検索したい場合はサブクエリを使えば解決できました。 SELECT id, tags FROM tags…

Twigでどのような変数が渡されているのかわからないときに調べる方法

サードパーティのライブラリとか触っているとtwigにどのような変数がセットされているのかわからない時が多々あります。 xdebug + ブレークポイントを設定して、なんとか変数をtwigにセットしているコードを探し出すのを毎回するのは苦労します。 dumpを使ってセットされた変数を確認する twigにはdumpという関…

2022

Symfony5.4 + kreait/firebase-bundleでFirebase emulatorを使ってみた

PHPでFirebase emulatorが使えない問題で頭を抱えていた方も多いかと思います。 ただそれは kreait/firebase-php のバージョンが6.2までの話です。 なんと気づいたら 6.3からはFirebase emulatorがサポートされていました。 (※全部コードリーディングしてませんが、少な…

2021

Symfony PassportでFirebase Authentication認証を使う

Symfony Advent Calendar 2021 の19日目の記事です。 機能は@ippey_s さんのSymfonyのパスポートでした。 今日はパスポートを使って実際にFirebase Authenticationで認証してみようと思います。 kreait/firebase-bundleを入れる まずはkre…

Symfonyで開発時に使いたいコードを分離する

Symfony Advent Calendar 2021 の14日目の記事です。 昨日は @ttskch さんの [Symfony][Doctrine] エンティティを自前でJsonSerializableにするときはプロパティの循環参照に要注意 でした🌈 今日は自分が開発時にか使わないコードをどう分離するかという話を…

SymfonyでEntity生成時にAttributeを使う

Symfony5.3でEntityを make:entity 使って生成したらannotationで生成されてしまいました。 せっかくphp8使っているのに...😇 <?php namespace App\Entity; use App\Repository\HogeRepository; use Doctrine\D…

symfony/mailerでdisable_deliveryをfalseしたい

最近のSymfonyでメール送信をする場合にSwiftmailerではなくsymfony/mailerを使うことが多いかと思います。 テストではメール送信したくないみたいなことも多いハズ。 Swiftmailerでテスト時にメールを送らないようにする 公式ドキュメントに記述がありますが、swiftmailer.yaml…

SymfonyのPdoSessionHandlerを使う場合の注意点

今日はPdoSessionHandlerでハマったので記録しておく。 何にはまったのか? PdoSessionHandlerを利用する際にunix socketでMySQLに接続しようとしたら、PHP Notice: PDOException: SQLSTATE[HY000] [2002] No such file o…

2020

それでも僕は@Templateアノテーションを使いたい

Symfony Advent Calendar 2020 の22日目の記事です。 機能は @ttskch 先輩の @Templateアノテーションを使わないほうがいい理由 でした。 昨日の記事で@Templateアノテーションは使わないほうがいいと書かれていたわけですが、僕はSymfonyの@Templateが大好きで…

Symfonyのwebpack-encoreのためにdockerのmulti stage buildを使う

Symfonyを動かすコンテナを作るときにPHPだけの環境なら比較的に作りやすいです。 ただ、webpacke-encoreが絡んでくるとちょっとめんどくさい。 なのでmulti stage buildを利用してサクッと環境を作ってみました。 まずは普通にphpだけのコンテナ 自分はこんな感じにすることが多いです。 F…

docker-machine + vultrでSymfonyで作ったwebアプリを動かす

前にsymfonyで作ったwebアプリをお客さんにdemoしたい。 でも環境を用意するのが若干面倒。 開発環境自体はdockerで構成されているものの、コストを書けずに安いプレビュー環境を用意してたくなったので、docker-machine + vultrでプレビュー環境を構築しました。 まずはdocker-machi…

NelmioApiDocBundleでJsonSchemaファイルを活用する

nelmio/NelmioApiDocBundleでスキーマの定義するのは結構だるいことが多いです。 @Model アノテーションとか使って簡単に定義することもできますが、最終的にJSONになるのにクラスにマッピングしてレスポンス返すのが微妙だと感じる場合もあると思います。 そこで、JsonSchema活用できないかな…

Symfony4.4をGAE/phpで動かす

GAE/php(Standard Environment)でSymfony4.4を動かす機会があったのでRun Symfony on App Engine standard environmentをみながらSymfonyを動かしました。 発生した問題 「composer install後のauto-scriptsでエラ…

SymfonyのRememberMeについて調べてみた

SymfonyのRememberMeとはなんぞや?今まで雰囲気で使ってたので調べてみた。 RembemerMeとは? どのように実現しているのか? RememberMeとは? 公式ドキュメントによると以下のように記載されている。 ユーザーが認証されると、通常、ユーザーの資格情報がセッションに保存されます。つまり、セッシ…

KnpUOAuth2ClientBundleでSign in with Appleに対応する

KnpUOAuth2ClientBundleで「Sign in with Apple」の対応する際にちょっとハマったのでメモしておきます。 もともとKnpUOAuth2ClientBundleはデフォルトで「Sign in with Apple」に対応しています。 https://github.com/knpunive…

SymfonyのTypeTestCaseでvalidatorをモックする

FormTypeで独自で定義したバリデーションを使う場合に、TypeTestCaseを使ってテストを実装するこが多いかと思います。 constraintsを設定している場合は Extensions を使うことでテストすることが出来ます。 <?php namespace App\Form\Type; use App\En…

Symfony Local Web Serverでxdebugを設定する

久しぶりにSymfonyを触っていてい落ち着く僕です。 新しいプロジェクトでSymfonyを使おうと思ってsymfony/web-server-bundleをcomopserでinstallしたら、deprecatedとか出てて何事かと思ったらどうやら5.0でなくなるらしい・・。 代わりにSymfony Local W…

2019

JsonSchemaBundleを作った話

Symfony Advent Calendar 2019 2日目の記事です。 昨日は@77webさんのSymfony4.4正式リリース前に4.4.x-devで開発し始めたプロジェクトを4.4.0正式版にアップデートするでした。 ptyhard/JsonSchemaBundle ptyhard/JsonSchemaBun…

SymfonyのCompilerPassで%env()%を利用する方法について

Symfonyではservices.yamlの中でenvの指定をすることが出来ます。 services: database_url: '%env(DATABASE_URL)%' こんな感じに指定してた場合にCompilerPassで参照すると文字列として返ってきてしまいます。 <?php class TestPass …