検索

Symfony プロジェクトを作成する

まず、Symfony CLI を使用して新しい Symfony アプリケーションを作成しましょう。ターミナルを開いて次を実行します:

symfony new poc-symfony

ここでのプロジェクト名 poc-symfony は重要ではありません。プロジェクト名として任意のものを選択できます。

ここでは Symfony CLI を使用して新しい Symfony アプリケーションを作成しています。

これを使用したくない場合は、代わりに有名な Composer ツールを使用してアプリケーションを作成できます。

composer create-project symfony/skeleton poc-symfony 

Composer を使用して Symfony アプリケーションを作成する方法について詳しくは、このドキュメントをお読みください。

統合された Symfony サーバーを起動します:

symfony serve -d

-d オプションは、サーバーをバックグラウンドでデーモンとして実行するために使用されます。これを停止するには、次のコマンドを実行します:

symfony server:stop

Symfony CLI をインストールしていない場合は、次のコマンドを実行して組み込みの PHP Web サーバーを使用できます。

php -S localhost:8000 -t public/

デフォルトでは、使用されるポートは 8000 です。指定された URL (デフォルトでは https://localhost:8000) にあるお気に入りのブラウザでアプリケーションを開きます。

ブラウザには次のようなものが表示されます:

Hello from Symfony

ここでの目標: 最初の Symfony コントローラーを作成し、Twig で最初のテンプレートをレンダリングして、Symfony から Hello を表示する!

まず、次のコマンドを実行して twig パッケージをインストールします。

composer require twig

Symfony Flex のおかげで、いくつかのファイルがプロジェクトに追加されました。

最初の Symfony コントローラーとなる最初の PHP ファイルを作成します。次の内容を含む HomeController.php という名前の新しいファイルを作成します (src/Controller ディレクトリ内に、任意の名前を付けることができます)。

<?php declare(strict_types=1);

namespace App\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Attribute\Route;

final class HomeController extends AbstractController
{
    #[Route('/', name: 'home')]
    public function home(): Response
    {
        return $this->render('home/index.html.twig');
    }
}

ここでは特別なことは何もありません。HomeController は Symfony AbstractController を拡張し、そこからの render メソッドを使用して HTTPFoundation コンポーネントからの応答を返します。

home という名前の / パターンに一致するルートがあります。関連するメソッドも home という名前で、小枝テンプレートを返します。

小枝テンプレートのコンテンツには次の内容が含まれます:

{% extends 'base.html.twig' %}

{% block body %}
    <h1 id="Hello-from-Symfony">Hello from Symfony!?</h1>
{% endblock %}

base.html.twig ファイルを拡張し、body ブロックのコンテンツをカスタマイズするだけです。
ページを更新して完成です?

Hello from Symfony

おめでとうございます。成功しましたか?

アプリケーションをテストする

テスト時間 ?️
アプリケーションをテストしてみましょう。

アプリケーションをテストしないのですか?テストを追加するには優秀すぎますか?

任意ですが、すべてが期待どおりに動作することを確認するために、いくつか追加することを好みます。

次のコマンドを実行して、テスト用の新しいパックを追加しましょう:

composer require --dev symfony/test-pack

繰り返しになりますが、Symfony Flex のおかげで、さらにいくつかのファイルがデフォルト設定で動作するようにインストールされています。

テスト用の PHP ファイルを作成します。このファイルを HomeControllerTest という名前にしました (tests/Controller ディレクトリ内):

symfony new poc-symfony

この簡単なテストは、アプリケーションですべてが機能することを確認するのに役立ちます。

テストを実行します:

composer create-project symfony/skeleton poc-symfony 

Hello from Symfony

おめでとうございます、テストに合格しました、すごいですね?

以上がシンフォニーからこんにちはの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
トラフィックの高いウェブサイトのPHPパフォーマンスチューニングトラフィックの高いウェブサイトのPHPパフォーマンスチューニングMay 14, 2025 am 12:13 AM

thesecrettokeepingaphp-poweredwebsterunningsmootlyunderheavyloadinvolvesseveralkeystrategies:1)emform opcodecoduceSciptionexecutiontime、2)aatabasequerycachingwithiThing withiThistolessendavasoload、

PHPでの依存関係注射:初心者向けのコード例PHPでの依存関係注射:初心者向けのコード例May 14, 2025 am 12:08 AM

コードをより明確かつ維持しやすくするため、依存関係が関心(DI)に注意する必要があります。 1)DIは、クラスを切り離すことにより、よりモジュール化されます。2)テストとコードの柔軟性の利便性を向上させ、3)DIコンテナを使用して複雑な依存関係を管理しますが、パフォーマンスの影響と円形の依存関係に注意してください。

PHPパフォーマンス:アプリケーションを最適化することは可能ですか?PHPパフォーマンス:アプリケーションを最適化することは可能ですか?May 14, 2025 am 12:04 AM

はい、最適化されたAphPossibleandessention.1)CachingingusapCutoredatedAtabaseload.2)最適化、効率的なQueries、およびConnectionPooling.3)EnhcodeCodewithBultinctions、Avoididingglobalbariables、およびUsingopcodeching

PHPパフォーマンスの最適化:究極のガイドPHPパフォーマンスの最適化:究極のガイドMay 14, 2025 am 12:02 AM

keyStrategIestsoSificlyvoostphpappliceperformanceare:1)useopcodecachinglikeToreexecutiontime、2)最適化abaseの相互作用とプロペラインデックス、3)3)構成

PHP依存性噴射コンテナ:クイックスタートPHP依存性噴射コンテナ:クイックスタートMay 13, 2025 am 12:11 AM

aphpDependencyInjectionContaineriSATOULTAINATINAGECLASSDEPTINCIES、強化測定性、テスト可能性、および維持可能性。

PHPの依存噴射対サービスロケーターPHPの依存噴射対サービスロケーターMay 13, 2025 am 12:10 AM

SELECT DEPENTENCINGINOFCENT(DI)大規模なアプリケーションの場合、ServicElocatorは小さなプロジェクトまたはプロトタイプに適しています。 1)DIは、コンストラクターインジェクションを通じてコードのテスト可能性とモジュール性を改善します。 2)ServiceLocatorは、センター登録を通じてサービスを取得します。これは便利ですが、コードカップリングの増加につながる可能性があります。

PHPパフォーマンス最適化戦略。PHPパフォーマンス最適化戦略。May 13, 2025 am 12:06 AM

phpapplicationscanbeoptimizedforspeedandEfficiencyby:1)enabingopcacheinphp.ini、2)PreparedStatementswithpordatabasequeriesを使用して、3)LoopswithArray_filterandarray_mapfordataprocessing、4)の構成ngincasaSearverseproxy、5)

PHPメールの検証:電子メールが正しく送信されるようにしますPHPメールの検証:電子メールが正しく送信されるようにしますMay 13, 2025 am 12:06 AM

PHPemailvalidationinvolvesthreesteps:1)Formatvalidationusingregularexpressionstochecktheemailformat;2)DNSvalidationtoensurethedomainhasavalidMXrecord;3)SMTPvalidation,themostthoroughmethod,whichchecksifthemailboxexistsbyconnectingtotheSMTPserver.Impl

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい