Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
Symfony2のコンセプトについて触れられている本家のブログのポストがあり、せっかくなので日本語にしました。 symfony 1.x legacy website 意訳している部分もありますので、正確な内容を知りたい方は本家の記事を読んでください。 (翻訳開始) Symfony2.0とPHPのエコシステム もし世の中の動きを知らずにすごしていないのなら、Symfony2について多くのことを耳にしているでしょう。インターネット上で、特にツイッターやブログ上でうわさは激しくなっています。 今日はSymfony2の機能について話すつもりはありません。Symfony2を試してみたいのであればSymfony reloadedサイトにある"Quick tour"チュートリアルを読むとよいでしょう。 ここではSymfony2哲学のキーとなる部分についてもう少し話したいと思います。そうすることで私たちの
著者の金本さんより献本いただきました。ありがとうございます。 2015/12/16にSymfony2の入門書である『基本からしっかり学ぶSymfony2入門』が技術評論社から発売されました。 本書は「Symfonyをマスターするための最短コース」と表紙に書かれていますが、確かに、Symfonyの全体像と使い方をコンパクトにまとめた優れた入門書と言えるでしょう。 ちなみに「王道」とは広辞苑によると「最も正統な道・方法」という意味だそうです(本書より)。 対象者 本書の対象者は以下です。 Webアプリケーション開発のスタンダードな知識を身につけたい人 Symfonyの基礎をつかみたい人 Symfonyの特徴を実践的に学びたい人 上記は書籍に記載されているもので、まったくその通りだと思います。 また、個人的に別の表現をすると、以下のような人向けかなと思います。 Symfonyに興味のある人 ほと
PHPフレームワークSymfonyの開発チームは9月6日、最新版「Symfony 2.1」をリリースした。依存性を管理するためのコンポーネント「Composer」が導入されたほか、多くの変更や新機能が加えられている。 SymfonyはWeb開発向けのPHPフレームワーク。MVCアーキテクチャ、オブジェクト指向などを特徴とし、テストフレームワークやORマッパーを備える。PHP Webアプリケーションの作成とメンテナンスを容易に行えるとしている。プロジェクトは仏Sensio Labsの支援を受けている。ライセンスはMIT License。 バージョン2.1は2011年7月にリリースされた2.0系のメジャーアップデートとなる。開発は非常に活発で、1100以上のプルリクエストをマージし、コミット数は3500件以上にもなるという。 大きな変更点としては、プロジェクトの依存性管理を「Composer」
個人的なシナリオBDDへの思い 個人的にはシナリオBDDは、TDDと比べるとハードルが高いと思っている。テストファーストやTDDが十分にできない人がBDDをすると、無駄にテストが多すぎたり、テストすることが目的になってしまう傾向があると感じている。シナリオBDDは使いどころさえ間違えなければ、それなりに効果を発揮するだろうが、僕の周りでは適応できるケースが非常に限られていることが多い。 最初の一歩としては、BDDをいきなりはじめるのではなく、TDDでユニットテストを効果的に書けるようになって欲しい。 テスト駆動開発できるようになるためには? テストファースト等のアプローチがこく自然にできるようになる方法は、「慣れろ」という表現をでは不足していると考えている。捕捉して伝える。 テスト駆動開発(TDD)はスキルである TDD事態がプログラマーとしてのスキルである。よって、このスキルを身につけな
Symfony 2.7.0 has just been released. 2.7 is the new LTS version of Symfony. Symfony 2.7.0 comes with more than 100 new features and enhancements. Read the UPGRADE from 2.6 to 2.7 guide to learn more about new ways of doing things and deprecated features that will be removed in 3.0. Yesterday, I told you that 2.7 comes with an unexpected surprise... Symfony has now early built-in support for PSR-7
Bernhard Schussek gave a presentation on leveraging Symfony2 forms at the Symfony Live conference in March 2011. He discussed the evolution of the Symfony form component, its service-oriented architecture, and how forms are decoupled from business logic. He provided an example of an online sausage shop order form to demonstrate how form data is bound to objects and submitted. The presentation cove
The document provides a history and overview of the Symfony framework. It describes the initial release of Symfony 1.0 in 2007 and key updates through 1.4 in 2009. It then introduces Symfony 2 as a next generation version with a new low-level architecture built for PHP 5.3. The document provides examples of how configuration, routing, and controllers work in Symfony 2 through PHP code snippets and
この本の概要 PHPフレームワークSymfonyによるWebサービス開発を解説した書籍です。最初にSymfonyのしくみを理解していき,あるオーケストラのWebサイトの作成を例に,手を動かしながらフレームワークの基本機能や開発時に必要なポイントなどについて解説しています。各章末にチェックポイントを設け,これらを解きながら読み進めることで本書の内容を無理なく理解できます。また付録では,初心者がつまずきやすい環境構築の手順やSymfonyのコマンドなども扱っており,この1冊でSymfonyのすべてを知ることができます。 こんな方におすすめ これからフレームワークを使い始めたい初級者 Symfonyを使ってWebサービスを構築したい中級者 まえがき 第1章 PHPとフレームワーク 1-1 フレームワークの王道を学ぶ フレームワークの多様性 多様性のメリット 多様性が生む選択の難しさ 基盤となる共
Last week, I held a keynote presentation about Symfony2 at the Symfony Day conference in Cologne. Many people asked me for the slides, but they were quite empty and not that useful. This blog post is more or less what I’ve said during the first part of the talk. What is Symfony2?When I ask people what Symfony2 is for them, most of them say something along the lines of: Symfony2 is a full-stack web
Note この記事は Symfony2 コンポーネントでフレームワークをつくる方法を説明した連載記事の一部です: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 Symfony2 は単体で独立していて、疎結合され、凝縮された PHP コンポーネントの集まりで、Web 開発の共通の問題を解決します。 これらの低水準のコンポーネントに取り組む代わりに、フルスタックフレームワークの Symfony2 をすぐに使い始めることができます。これは先ほどあげた Symfony2 のコンポーネントがもとになっています。もしくはまったくあなた独自のフレームワークを作ることもできます。この連載は後者に関するものです。 なぜあなたは独自のフレームワークを作りたいのでしょうか?¶ まず第一に、なぜ独自のフレームワークを作りたいのでしょうか?周りを見回すと、誰もが車輪を再発明することはよ
テンプレートの基本¶ ご存知のとおり、コントローラ は、Symfony2 アプリケーションに入ってきたリクエストを扱う役割を果たします。ただし、実際は、コードのテストのしやすさや再利用性のために、重い処理を別の部分に任せていることもあります。コントローラは、HTML や CSS その他のコンテンツを生成する際は、その生成処理をテンプレートエンジンに引き継ぎます。本章では、ユーザに提示するコンテンツや、メール本文などのテンプレートの記述方法をマスターしていきます。テンプレートを継承したりコードを再利用する方法も勉強していきましょう。 テンプレート¶ テンプレートとは、テキストベースのフォーマット(HTML、XML、CSV、LaTeX ...)なら何でも生成することが可能な、シンプルなテキストファイルです。一番身近なのは PHP テンプレートでしょう。テキストと PHP コードが混ざったテキス
今回はSymfony2でpageを実装する際のやり方のメモとなります。 symfony1だとsfPager又はsfDoctrinePager オブジェクトが存在してpager機能を実装してたのですが Symfony2だとそんな機能はコア機能にはないようです。 そこでPagerBundleというバンドルを利用してpager機能を実装しました。 (1)インストール vender下にバンドルをインストールしてオートロードの設定をします。 # vender/bundles/MakerLabs下にインストールされます $ vi deps [PagerBundle] git=git://github.com/makerlabs/PagerBundle.git target=bundles/MakerLabs/PagerBundle # インストール $ php bin/vendors install
前半がヤりたいことで、symfony2以下ははまぁどうでもいい。 ローカルに独立したphp環境を構築する システムワイドなphp環境に影響を与えずにプロジェクトローカルで依存ファイル管理(1ができなくても) なんでもローカルで解決するので、ホームディレクトリにおもちゃ箱を作ってなんでもそこに放り込む: mkdir $HOME/.bin echo "PATH=$HOME/.bin:$PATH" >> .bash_profile phpbrewでローカルに独立したphp環境を構築する phpbrewのRequirement Mac OS 10.7 Ubuntu, Debian PHP5.3 curl gcc, binutil, autoconf, libxml, zlib, readline phpbrew を落としてきて5.3.3以上のバージョンをビルド。ビルドオプションはてきとうに: cu
This document lists several Symfony bundles and PHP libraries for common tasks like pagination, PDF generation, HTTP requests, and testing. It includes bundles and libraries for Bootstrap integration, profiling tools, dependency injection containers, and more. Links are provided to the GitHub repositories for each one.
この記事は Symfony Advent Calendar 2012 4日目の記事です。 Symfony はバージョン 2.1 からパッケージの管理に Composer を使用するようになりました。2.0 時代の deps ファイルは削除され、autoload まわりが大きく変わりました。Symfony2.1 の勉強を進めていたところ、日本語でインストール方法を解説している記事が少ないと感じたので、今回整理してみました。 この記事では、Composer を使った Symfony2.1 のインストール方法、更新方法、サードパーティ製のバンドルを追加インストールする方法などを紹介します。おまけで PHPUnit を Composer からインストールする方法も紹介します。 動作確認環境 Symfony 2.1.3PHP 5.4.8 目次 事前準備 Composerをインストールする Symfo
March 04, 2009 > June 04, 2009 Montreal / Canada - PHPQuebec Conference - 2009
In this post I am going to look at some techniques for cleaning up Symfony2 controller actions. Some of this by using some of the extras that are part of the standard distribution and some by moving code out to be triggered by events. So here is a fairly standard update action in a controller: <?php namespace Acme\DemoBundle\Controller; use Acme\DemoBundle\Form\ProductType; use Sensio\Bundle\Frame
3月1日、PHPアプリケーション開発フレームワークの最新版「symfony 2.2.0」がリリースされた。コマンドラインの自動補完やルーティング機構の強化などが行われている。 SymfonyはPHP向けのWebアプリケーション開発フレームワーク。MVCアーキテクチャ、プラグイン構造、ORマッパー統合といった特徴を持ち、開発とメンテナンスの効率化を支援する。ライセンスはMIT License。 Symfonyでは6か月ごとに新バージョンをリリースするというリリースサイクルが導入されたが、Symfony 2.2.0はこのリリースサイクル導入後初となるリリースとなる。 新機能として、コマンドラインの自動補完機能や長時間実行されるタスクに対してその進捗を示すプログレスバーの追加といった機能が加わっている。HTTPスタックではリソース分断管理のためのサブフレームワークが導入され、エラーメッセージが明
We were all waiting for it and many of us have been working hard for the last four years to make it happen. Today, Symfony 2.3.0 is available and this is the first long-term support release for Symfony version 2. I'm so happy that we were able to achieve this important milestone in the life of the framework. THANK YOU for making it possible. What does it mean? Since the introduction of a more form
コンフィギュレーションオプション: app/config/config.yml といったファイルでどのようなコンフィギュレーションオプションが使えるのでしょうか。 ここでは、Symfony2 のコンフィギュレーションで使えるセクションとして定義されているキー(たとえば framework)ごとに、利用可能なすべてのコンフィギュレーションについて解説します。 framework doctrine security assetic swiftmailer twig monolog web_profiler フォームとバリデーション フォームフィールドタイプリファレンス バリデーション制約リファレンス Twig テンプレート関数リファレンス その他 このページの翻訳はまだ行われていません。 Symfony2 の実行に必要な要件 バンドル¶ Symfony Standard Edition にはい
Symfony2にはDoctrineFixturesBundleというデータを投入するバンドルが存在し、コマンドからデータを投入する方法はマニュアルに記載があります。 phpunitのsetUp処理でデータを「クリア→投入」したかったのですが、やり方が見当たらなかったので調べたメモとなります。 バンドルのインストールなどは「DoctrineFixturesBundle」を参照してください。 1.DoctrineFixturesBundleの簡単な使用例 1.1 Fixtureファイルの作成 Hoge/UserBundleにFixtureを作成する場合の例となります。 バンドルの「DataFixtures/ORM」の下にfixtureファイルを置きます # mkdir -p src/Hoge/UserBundle/DataFixtures/ORM/ # vi src/Hoge/UserBun
With the recent announcement of Facebook that their HHVM is now more and more compatible with most of the popular framework, I was intrigued to finally try it out. We're currently building a Symfony2 based application, which has pretty high performance requirements (but we can mostly achieve them with varnish), so I went and did some performance tests on that real-life app. The application basical
Symfony2のblogチュートリアルにファンクショナルテストを書きながら写経してみました。 動作確認環境 Symfony 2.0.11PHP 5.3.10PHPUnit 3.6.10 目次 テストを書く前の準備 6章 参照系ページのファンクショナルテスト 7章 登録ページのファンクショナルテスト 8章 登録ページのバリデーションのファンクショナルテスト 10章までチュートリアルを進める fixtureでテストの順番の依存性を解決 テストを書く前の準備 コマンドラインからSymfony2のテストを実行できるようにしておきます。下記は、Symfony2の本体が ~/Sites/Symfony にある場合の例です。 $ cd ~/Sites/Symfony $ phpunit -c app Configuration read from /Users/karakaram/Sites/Symf
2018年1月10日に開催された DCI Tokyo 1 に続き、2018年3月27日に DCI Tokyo 2 が開催されました。今回も James Coplien @jcoplien さんをお招きしてのトークセッションとなりました。会場は 株式会社ヴァル研究所 様に提供していただきました。 セッションは、前回同様 @remore さんと @ganchiku さんによる同時通訳とともに進められました。 今回のテーマはマルチパラダイムデザイン(Multi-Paradigm Design: MPD)の中核を成し、DCI / リーンアーキテクチャ(Lean Architecture)とも深く関係する 共通性/可変性分析 でした。 レポートは @smori1983 が担当させていただきます。 当日の様子は Coplien さんの許可を得て YouTube の DCI Tokyo 公式アカウントに
Designing a REST API is not easy. No, really! If you want to design an API the right way, you have to think a lot about everything, and either to be pragmatic or to be an API terrorist. It’s not just about GET, POST, PUT, and DELETE. In real life, you have relations between resources, the need to move a resource somewhere else (think about a tree), or you may want to set a specific value to a reso
こんにちはyuchimiriです。 このブログはSymfony Advent Calendar JP 2011 8日目の記事です。 昨日の担当はmadapajaさんでした。 去年のAdvent Calendarでは「SymfonyEventDispatcher→Symfony2(PR4)EventDispatcherの変更点」という記事を書いたのですが、今年はもう少し実践的なものを書きたいな…ということでSymfony2でのカスタムバリデータの作成方法についてご紹介します。 Symfony2では、Symfony\Component\Validator\ConstraintクラスとSymfony\Component\Validator\ConstraintValidatorクラスを拡張して独自のバリデータを作ることができます。 今回は簡単な例として、テキストエリアに改行区切りで入力された文字
informationテーブルに対してアドミンジェネレータでCRUD処理を作成するメモ SonataAdminBundleを利用します。今回はエンティティは「src/Root/SiteBundle/Entity/Information.php」に作成済とします (1)インストール vendor下にインストールするが結構な数のバンドルのインストールが必要 $ vi deps [SonatajQueryBundle] git=http://github.com/sonata-project/SonatajQueryBundle.git target=/bundles/Sonata/jQueryBundle [SonataBluePrintBundle] git=http://github.com/sonata-project/SonataBluePrintBundle.git target=/
ちょっと仕事が行き詰ったので、Symfony2のいいなーと思うところでも書いて頭をリフレッシュしよう。 シンプルなアーキテクチャ DIコンテナ Twig組み込み アクションの戻り値がResponseオブジェクト プレーンなPHPオブジェクト Namespace ぱっと思いつくのはこのあたりですかね。 シンプルなアーキテクチャ とにかくFilterがなくなるのがとてもうれしいです。Symfony2の流れってとてもシンプルで Kernelを起動 Bundleの登録 Containerの初期化 各Bundleの起動 BundleごとにContainerの拡張など (Requestの生成) HttpKernelがRequestのハンドリング RouterがRequestをパース route情報を元にControllerの特定 Controllerの実行 ビューのレンダリング レンダリング結果をRe
update2.2to2.3.md Symfony を 2.2 から 2.3 にアップしたときのメモ updateするときのお話。新規でcreate-projectするなら何も困らない php composer.phar update する前に以下をチェック composer.jsonの修正 http://symfony.com/blog/symfony-2-3-0-the-first-lts-is-now-available キャッシュファイルは事前にrmしておく icuが4.4以上でないと怒られるので、事前にインストールしているicuのバージョンをチェックしておくこと composer.jsonでバージョン指定すれば回避可能 http://php-sql-gdgd.jugem.jp/?eid=104 config.ymlを修正 trust_proxyの設定が変更になってる 削除 tru
はじめに Symfony2 で作ったアプリを初めて Heroku にデプロイしたんですが、意外と Web に情報が少なくてちょいちょい困ったので、実際に行った手順をまとめておきます。 Symfony2 のアプリはローカルで動いてて、あとは適切にデプロイしたいだけ、という前提のお話です。(Symfony のバージョンは 2.6 です) BEAR.Sunday アプリのお話も こちら にありますので、よろしければご覧ください。 Heroku の環境準備 まずは Heroku 自体を使える状態になりましょう。 1. アカウントを作成 何はともあれ Heroku の アカウントを作成 します。 2. heroku-toolbelt をインストール heroku コマンドを使えるようにするために、heroku-toolbelt というツールをインストールします。 Web からダウンロード してインス
Symfony2では権限によるアクセス制御はapp/config/security.ymlなどにある"access_control"で指定しますが、直下のrolesには複数の権限が設定できます。 security: access_control: - { path: ^/foo/bar/, roles: [ROLE_A, ROLE_B]} ただし、このrolesって"OR条件"なので、上の例の場合だとROLE_AかROLE_Bを持っていれば"/foo/bar/"にアクセスできます。 で、rolesをAND条件にする方法はないかと security.ymlのsecurity.access_control.rolesに複数書いた時はOR条件なのか。AND条件にならんのかな? とツイートしたところ、id:Fivestarさんから @shimooka そしたらsecurity.access.sim
memcachedにつないだり、mongoにつないだり、複数のmysqlにつないだりとデータベースにつなぐ際の設定のメモとなります。 1. 通常の設定 $ vi app/config/parameters.ini [parameters] database_driver = pdo_mysql # myslを使うならこのまま database_host = localhost # 接続先ホスト database_port = # 接続先ポート database_name = symfony # データベース名 database_user = hoge # 接続ユーザ database_password = hage # 接続パスワード $ vi app/config/config.yml # Doctrine Configuration doctrine: dbal: driver: %d
Quality assurance is one of the most difficult things to implement around software development. Most of time it is left for the final phase of development and very often overlooked entirely. As many experienced web development teams already know, QA needs to be part of the development process from the get-go. Behavior development/testing is just one aspect of quality assurance. And we'll talk abou
Create your own framework... on top of the Symfony2 Components (part 1) This article is part of a series of articles that explains how to create a framework with the Symfony Components. It is OBSOLETE but an up-to-date version can be found in the Symfony documentation. Symfony2 is a reusable set of standalone, decoupled, and cohesive PHP components that solve common web development problems. Inste
Symfony2 と HTTP の基礎¶ おめでとう! Symfony2 を身につけると、もっともっと生産性が高くて、幅広くて、引っ張りだこな WEB デベロッパーへの道がひらけます。 (実際ひっぱりだこになるにはがんばらなきゃいけないけど)。 Symfony2 は、基本に立ち帰りました。 すなわち、より迅速でより堅牢なアプリケーション開発が可能で、それでいて邪魔をしないツールになっているということです。 Symfony は、たくさんのテクノロジーのたくさんのアイディアを基に作られていて、今まさに身につけようとしているツールやコンセプトは、たくさんの人々の長年に渡る努力の結晶ということになります。 つまり、”Symfony” をただ単にマスターするわけではないのです。 WEB の基礎や開発のベストプラクティス、Symfony2 内外の最新で素晴らしいPHPライブラリの使い方をも身につけるこ
symfony1.4 sfGuardUserからsymfony2 FOSUserBundleへの移行 2012/11/26 2015/11/3 Coding symfony2が主流になって認証系はすべてFOSに絞られてきました。そこでそろそろsynfony1.4から移行するタイミングかなと思います。 方法に関して色々と調べてみると下記のソースにたどり着きます。 http://qpleple.com/migrate-from-sfguard-to-fosuserbundle/ https://github.com/FriendsOfSymfony/FOSAdvancedEncoderBundle http://www.folliked.com/sf2/migrer-sfdoctrineguardplugin-vers-fosuserbundle 上記ソースで大体可能なのですが多少説明が足りな
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く