symfony 1.1にアップグレードしよう!

既存のプロジェクトのアップグレード 前回は簡単にsymfony 1.1の新機能について紹介しましたが、今回は既存のプロジェクトをアップグレードする場合の注意点などを解説していきたいと思います。

森川 穣

2008年5月19日 20:00

既存のプロジェクトのアップグレード

 前回は簡単にsymfony 1.1の新機能について紹介しましたが、今回は既存のプロジェクトをアップグレードする場合の注意点などを解説していきたいと思います。

 symfony 1.1がリリースされたので、現在symfony 1.0を使って開発しているプロジェクトをどうするのかを考えている方も多いでしょう。取り得る対応策としては、「アップグレードしない」「アップグレードするが、互換性は有効とする」「アップグレードもして、互換性も基本的に使用しない」の3つになるでしょう。

 もちろん作業量は順に増えていきます。アップグレードしない場合は基本的に何もしないわけですから何も作業する必要はありません。残りの2つの作業量はいかほどなのか、というのが今回の主題になります。結論から先に言うと、まずアップグレードしてすぐ動いたら互換性有効の状態で動かすとよいでしょう。

 互換性を使用しない場合、多少大げさに聞こえるかもしれませんが、新しく環境を作り直した方が楽かもしれない、ということを覚悟したほうがよいでしょう。そのため、事前に作業を把握しておく必要があります。

 では、早速symfonyのバージョンアップをする方法を紹介しましょう。ドキュメントは英語(http://trac.symfony-project.com/browser/branches/1.1/UPGRADE)、日本語(http://code.google.com/p/symfony-doc-ja/wiki/Upgrade_from_1_0_to_1_1)で用意されているので、詳細についてはそちらを参照してください。このドキュメントに大きな変更点がほとんど記述されているので、じっくりこのドキュメントを読めば移行に必要な知識は手に入れることができます。

symfony 1.1にアップグレードしてみよう

 すでにsymfony 1.0がインストールされている場合、アップグレードするとすべてのプロジェクトに影響を与えてしまうので、既存のsymfony 1.0とは別の場所にインストールします。今回の解説では/usr/local/symfonyにインストールしますので、適宜ご自分の環境に合わせてパスを変換してください。

 さてインストールと言っても以下のようにsymfonyをダウンロードして、展開するだけです。

$ cd /usr/local/symfony
$ wget http://www.symfony-project.org/get/symfony-1.1.0RC1.tgz
$ tar xzf symfony-1.1.0RC1.tgz

 これで、準備が整ったので既存のプロジェクトをsymfony 1.1に切り替える作業に入ります。なお、アップグレードする場合はきちんと既存プロジェクトはバックアップしておきましょう。

 最初にドキュメントにあるように、プロジェクトディレクトリ直下にあるsymfonyファイルを以下のように入れ替えます。このファイルはsymfonyコマンドをプロジェクト単位で実行するためのファイルです。今回のように/usr/local/symfonyにライブラリを展開した場合、実行ファイルがコピーされないので、symfonyコマンドの実行にこのファイルを使用します。

$ cp /usr/local/symfony/symfony-1.1.0RC1/lib/task/generator/skeleton/project/symfony symfony

 このファイルでは、config/ProjectConfiguration.class.phpというファイルが読み込まれます。このファイルは以前までのconfig/config.phpに代わるもので、アップグレードする場合は自分で作成する必要があります(図1)。なお、sfCoreAutoload.class.phpのパスは自分で修正する必要があるので注意してください。

 上記のファイルを作成すれば、symfonyコマンドを実行することができます。以下に示すようにインストールされているsymfonyコマンドとプロジェクトのsymfonyコマンドのバージョンが違うことを確認しておきましょう。以後は、プロジェクトディレクトリ直下にあるsymfonyファイルをコマンドとして使用します。

$ symfony -V
symfony version 1.0.15

$ ./symfony -V
symfony version 1.1.0-RC1 (/usr/local/symfony/symfony-1.1.0RC1/lib)

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30