ホームページ バックエンド開発 PHPチュートリアル symfony がコマンドを使用してプロジェクトを作成する方法の詳細な説明

symfony がコマンドを使用してプロジェクトを作成する方法の詳細な説明

Jan 05, 2018 pm 02:37 PM
symfony 使用 注文

symfony コマンドを使用してプロジェクトを作成するにはどうすればよいですか?この記事では主に symfony コマンドを使用してプロジェクトを作成する方法を紹介し、Symfony コマンドの使用法とプロジェクト作成の関連スキルをサンプルの形式で分析します。お役に立てれば幸いです。

この記事の例では、symfony コマンドを使用してプロジェクトを作成する方法を説明します。以下のように、参考としてみんなと共有してください:

概要

この章では、Symfony プロジェクトの合理的な構造フレームワークについて説明し、symfony コマンドを使用してプロジェクト構造を初期化します。

はじめに

symfony では、プロジェクトは、同じプロジェクトモデルを共有する、指定されたドメイン名の下での一連のサービスと効果的な操作です。

プロジェクトでは、アプリケーション内の操作は一連のロジックであり、各アプリケーションは同じプロジェクト内の他のアプリケーションに干渉することなく、通常どおり独立して実行できます。

ほとんどの場合、プロジェクトには 2 つのアプリケーションが含まれており、1 つはフォアグラウンド表示を担当し、もう 1 つはバックグラウンド処理を担当し、同じデータベースを使用します。もちろん、1 つのプロジェクトに多数の小規模サイトを含めて、各サイトを異なるアプリケーションにすることもできます。異なるアプリケーション間で使用されるハイパーリンクには絶対パスを使用する必要があることに注意してください。

すべてのアプリケーションはモジュールのセットであり、各モジュールは特別な機能を担当します。通常、モジュールは同様の機能のために 1 つのページまたはページのグループを使用します。たとえば、モジュールには、ホーム、記事、ヘルプ、ショッピングカート、アカウントなどが含まれます。

モジュールの機能: 各モジュールには独自の機能があります。たとえば、shoppingCart モジュールには追加、表示、更新の機能が必要です。機能的な動作は、典型的な Web アプリケーションにおけるページの動作と考えることができます。

新しいプロジェクトのレベルが多すぎる場合は、ファイル構造をシンプルに保つためにモジュール内のすべての関数をグループ化するのが簡単です。アプリケーションがより複雑になると、機能を論​​理モジュールに編成できます。

各アプリケーションは、異なる構成やデータベースなど、異なる環境で実行できます。通常、すべての新しいアプリケーションは 3 つの環境 (開発、テスト、最終運用) で実行されます。各アプリケーションは、必要に応じてさらに多くの環境で実行でき、異なる環境で構成アクセサリを変更するだけで済みます。

たとえば、テスト環境では警告とエラーをログに記録する必要がありますが、最終的な運用環境ではエラーのみをログに記録する必要があります。キャッシュ アクセラレーションは通常、開発環境ではオンになりませんが、テスト環境や最終的な運用環境ではオンにする必要があります。開発およびテスト環境では、テスト データを最終製品のリモート データベースに保存する必要がある場合があります。すべての環境は 1 台のマシン上に共存でき、通常は最終的な運用環境のみが運用サーバー上に存在します。

注: サンドボックス経由で symfony を使用している場合、「sf_sandbox」という名前のプロジェクトと「frontend」という名前のプロジェクトをサンドボックス アプリケーション内に準備する必要はありません。 Web サーバーをセットアップする必要もありません。プログラムを web/ ルート ディレクトリに置くだけです。

Pake

SymFony は、プロジェクト、アプリケーション、モジュールを管理するために特殊なツール Pake を使用します。 Pake は、Rake コマンド (make コマンドを Ruby に変換するツール) に似た php ツールです。 pakefile.php と呼ばれる特別な構成ファイルに基づいて、いくつかの管理タスクを自動化します。 symfony コマンドラインの代わりに pake ツールを使用すると、すべてが非常に簡単になります。

すべての有効な管理操作コマンドのリストを取得するには、プロジェクト ディレクトリに次のように入力するだけです:

$ symfony -T
ログイン後にコピー

CLI (コマンド ライン操作) タスク スケジュールは、プロジェクトの初期段階で使用されます。 CLI タスクのスケジューリングの詳細については、CLI の章を参照してください。

プロジェクト設定

すべてを開始する前に、プロジェクトを保存するための新しいディレクトリを作成する必要があります:

$ mkdir /home/steve/myproject
ログイン後にコピー

その後、プロジェクトの初期化を開始してオリジナルのファイルとディレクトリを生成します。次のように入力するだけです:

$ cd /home/steve/myproject
$ symfony init-project myproject
ログイン後にコピー

これは新たに作成されたファイルシステム ツリー構造の概要:

apps/
batch/
cache/
config/
data/
doc/
lib/
log/
test/
web/

symfony コマンドは次の場所にあります。現在のプロジェクトの利用可能なディレクトリ いつでも呼び出します。

アプリ設定

プロジェクトはまだ完了していません。まだ少なくとも 1 つのアプリが必要です。まず symfony init-app コマンドを使用してアプリケーションを初期化し、コマンドに続くパラメーターを使用してアプリケーションに名前を付けます:

$ symfony init-app myapp
ログイン後にコピー

これにより、プロジェクトのルート ディレクトリの apps/ フォルダーに myapp ディレクトリが作成されます。デフォルトのアプリケーション設定とサイトのディレクトリ ファイルのセット:

apps/
myapp/
config/
i18n/
lib/
modules/
templates/

一部は、それぞれのデフォルトでフロントエンド コントローラーとして機能しますPHP ファイルは、プロジェクトのルート ディレクトリの Web ディレクトリにも作成されます:

web/
Index.php
myapp_dev.php

index.php是production新应用程序的前端控制器。因为你创建这个项目中的第一个应用程序时,Symfony创建了一个调用 index.php的文件,例如 myapp.php (如果你现在添加一个名为 mynewapp 的新应用程序,新产品的前端控制器将被命名为mynewapp.php)。在 开发环境中运行程序时,调用前端控制器 myapp_dev.php。

注意:你如果仔细阅读了介绍,你可能会对myapp_test.php文件的位置感到意外。事实上,测试 环境是用于对你的应用程序的构件进行单元测试,它不需要前端控制器。可以参考单元测试章节去了解更多详细内容。

从现在开始,/home/steve/myproject/ 目录将会作为项目的根目录。根目录的路径已经被保存为 SF_ROOT_DIR 常量,定义在 index.php 文件中,并且我们将会用这个常量名代替实际路径以避免把不叫Steve的读者搞糊涂了(译者注:因为作者将项目放在/home/steve /myprojetc的目录下,这个路径每个人可能都不尽相同,所以使用常量SF_ROOT_DIR来代替了实际路径)。

Web服务器设置

为了访问和测试新的应用程序,需要配置web服务器。这有一个Apache的例子,在 httpd.conf 配置文件中加入一个新的虚拟主机:

<Directory "/$data_dir/symfony/web/sf">
 AllowOverride All
 Allow from All
</Directory>
<VirtualHost *:80>
 ServerName myapp.example.com
 DocumentRoot "/home/steve/myproject/web"
 DirectoryIndex index.php
 Alias /sf /$data_dir/symfony/web/sf
 <Directory "/home/steve/myproject/web">
  AllowOverride All
  Allow from All
 </Directory>
</VirtualHost>
ログイン後にコピー

注意:上面的配置中的 $data_dir 变量需要替换成你的PEAR库目录。例如:在*nix系统中,你可以输入:

<code> Alias /sf /usr/local/lib/php/data/symfony/web/sf</code>
ログイン後にコピー

重启Apache服务之后,就可以看到调用新创建的应用程序的页面,只需要在一个标准的web浏览器的地址栏输入下列路径:

http://myapp.example.com/index.php/

或者,在调试模式下使用这个路径:

http://myapp.example.com/myapp_dev.php/

注意:Symfony显示‘简短漂亮的(smart)'路径时用到了 mod_rewrite 模块。如果你的Apache版本没有将 mod_rewrite 模块编译进去,那么需要在 httpd.conf 中检查模块mod_rewrite是否是动态模块方式(DSO)安装的,并且确认是否已经打开(译者注:关于Apache的mod_rewrite模块安 装和使用方法请参考Apache相关文档,这里假设读者已经具备这方面知识而不作过多说明):

AddModule mod_rewrite.c
LoadModule rewrite_module modules/mod_rewrite.so
ログイン後にコピー

模块设置

你这个新的应用程序并不出众,它缺乏吸引人的功能。如果你想增加功能性,你需要在在其中用到模块。这里再一次用到了 symfony 命令,参数为 init-module ,后面跟着应用程序名称和新模块的名称:

$ symfony init-module myapp mymodule
ログイン後にコピー

创建以后的树结构如下:

modules/
mymodule/
actions/
config/
lib/
templates/
validate/

新模块直接可以被使用:

http://myapp.example.com/index.php/mymodule

然后你需要让它正常的工作,编辑文件 myapp/modules/mymodule/templates/indexSuccess.php 输入:

Hello, world !

保存它,刷新刚才的页面就可以看到内容!

源文件版本控制(Source versioning)

应用程序设置完成之后,建议开始进行源文件版本控制。Symfony从一开始就支持CVS(译者注:版本控制系统),建议使用Subversion(译者注:一个版本控制系统软件,采用CVS 的运作模型, 并以取代CVS 为目标)。下面的例子列出了一些Subversion的命令,用于从在一个安装了Subversion的服务器上创建一个新项目的"仓库"(译者注:repository,源代码储存的地方)。对于Windows用户,建议客户端使用TortoiseSVN。关于源文件版本控制的更多信息和命令用法,请参考Subversion文档。

下面的例子假设$SVNREP_DIR是一个已经定义的环境变量。如果你还没有定义它,你需要用"仓库"的实际路径代替$SVNREP_DIR变量。

现在让我们开始创建myproject项目的新"仓库":

$ svnadmin create $SVNREP_DIR/myproject
ログイン後にコピー

然后用下面这串命令创建新"仓库"的基本组织结构(规划),其中包含 trunk, tags 和 branches 三个目录:

[code]$ svn mkdir -m "layout creation" file:///$SVNREP_DIR/myproject/trunk file:///$SVNREP_DIR/myproject/tags file:///$SVNREP_DIR/myproject/branches[/code]

这将是你第一个版本。现在你必须导入项目的文件,但不包括缓存和日志等临时文件:

$ cd /home/steve/myproject
$ rm -rf cache/*
$ rm -rf log/*
$ svn import -m "initial import" . file:///$SVNREP_DIR/myproject/trunk
ログイン後にコピー

检查提交的文件:

$ svn ls file:///$SVNREP_DIR/myproject/trunk/
ログイン後にコピー

看上去很不错。现在SVN"仓库"已经记录了所有项目文件的版本(和更改历史)。就是说实际路径为 /home/steve/myproject 的目录中所有的文件都已经被"仓库"记录。要做到这一点,首先重命名 myproject 目录名,当一切运行正常的时候可以删除它,并且在新目录中向"仓库"提交一个checkout:

$ cd /home/steve
$ mv myproject myproject.origin
$ svn co file:///$SVNREP_DIR/myproject/trunk myproject
$ ls myproject
ログイン後にコピー

现在你可以在 /home/steve/myproject/ 目录下的文件中工作,并且提交修改到"仓库"中。不要忘记作一些清理和删除myproject.origin目录,它现在没有用了。

还有一些另外的设置。当你向"仓库"中提交工作目录时,会复制一些多余的文件,像项目中 cache 和 log 目录下的文件。因此你需要针对这个项目在svn中指定一个忽略列表。你也需要重新将 cache/ 和 log/ 目录的权限设置为完全控制,在访问时产生的文件SVN将不会储存:

$ cd /home/steve/myproject
$ svn propedit svn:ignore .
$ chmod 777 cache
$ chmod 777 log
ログイン後にコピー

这将调用在SVN中设置的默认的文本编辑器。如果没有生效,就像下面这样设置subversion首选的编辑器:

$ export SVN_EDITOR=<name of editor>
$ svn propedit svn:ignore .
ログイン後にコピー

直接在SVN中的忽略列表中加入myproject子目录,这样提交的时候就忽略了:

cache
log
ログイン後にコピー

保存然后退出,这样就完成了。

相关推荐:

简述Symfony核心类

symfony window下安装时候出现问题的解决方法

symfony安装详细教程

以上がsymfony がコマンドを使用してプロジェクトを作成する方法の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホット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 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Windows 11/10でSUDOコマンドを実行する方法 Windows 11/10でSUDOコマンドを実行する方法 Mar 09, 2024 am 09:50 AM

sudo コマンドを使用すると、ユーザーはスーパーユーザー モードに切り替えることなく、昇格された特権モードでコマンドを実行できます。この記事では、Windows システムで sudo コマンドに似た機能をシミュレートする方法を紹介します。修道コマンドとは何ですか? Sudo (「スーパーユーザー do」の略) は、Linux や MacOS などの Unix ベースのオペレーティング システムのユーザーが、通常は管理者が持つ昇格した権限でコマンドを実行できるようにするコマンド ライン ツールです。 Windows 11/10 での SUDO コマンドの実行 ただし、最新の Windows 11 Insider Preview バージョンのリリースにより、Windows ユーザーはこの機能を体験できるようになりました。この新機能により、ユーザーは次のことが可能になります。

CrystalDiskmarkとはどのようなソフトウェアですか? -crystaldiskmarkの使い方は? CrystalDiskmarkとはどのようなソフトウェアですか? -crystaldiskmarkの使い方は? Mar 18, 2024 pm 02:58 PM

CrystalDiskMark は、シーケンシャルおよびランダムの読み取り/書き込み速度を迅速に測定する、ハード ドライブ用の小型 HDD ベンチマーク ツールです。次に、編集者が CrystalDiskMark と Crystaldiskmark の使用方法を紹介します。 1. CrystalDiskMark の概要 CrystalDiskMark は、機械式ハード ドライブとソリッド ステート ドライブ (SSD) の読み取りおよび書き込み速度とパフォーマンスを評価するために広く使用されているディスク パフォーマンス テスト ツールです。 ). ランダム I/O パフォーマンス。これは無料の Windows アプリケーションで、使いやすいインターフェイスとハード ドライブのパフォーマンスのさまざまな側面を評価するためのさまざまなテスト モードを提供し、ハードウェアのレビューで広く使用されています。

foob​​ar2000のダウンロード方法は? -foobar2000の使い方 foob​​ar2000のダウンロード方法は? -foobar2000の使い方 Mar 18, 2024 am 10:58 AM

foob​​ar2000 は、音楽リソースをいつでも聴くことができるソフトウェアです。あらゆる種類の音楽をロスレス音質で提供します。音楽プレーヤーの強化版により、より包括的で快適な音楽体験を得ることができます。その設計コンセプトは、高度なオーディオをコンピュータ上で再生可能 デバイスを携帯電話に移植し、より便利で効率的な音楽再生体験を提供 シンプルでわかりやすく、使いやすいインターフェースデザイン 過度な装飾や煩雑な操作を排除したミニマルなデザインスタイルを採用また、さまざまなスキンとテーマをサポートし、自分の好みに合わせて設定をカスタマイズし、複数のオーディオ形式の再生をサポートする専用の音楽プレーヤーを作成します。過度の音量による聴覚障害を避けるために、自分の聴覚の状態に合わせて調整してください。次は私がお手伝いさせてください

NetEase メールボックス マスターの使用方法 NetEase メールボックス マスターの使用方法 Mar 27, 2024 pm 05:32 PM

NetEase Mailbox は、中国のネットユーザーに広く使用されている電子メール アドレスとして、その安定した効率的なサービスで常にユーザーの信頼を獲得してきました。 NetEase Mailbox Master は、携帯電話ユーザー向けに特別に作成された電子メール ソフトウェアで、電子メールの送受信プロセスが大幅に簡素化され、電子メールの処理がより便利になります。 NetEase Mailbox Master の使い方と具体的な機能について、以下ではこのサイトの編集者が詳しく紹介しますので、お役に立てれば幸いです。まず、モバイル アプリ ストアで NetEase Mailbox Master アプリを検索してダウンロードします。 App Store または Baidu Mobile Assistant で「Ne​​tEase Mailbox Master」を検索し、画面の指示に従ってインストールします。ダウンロードとインストールが完了したら、NetEase の電子メール アカウントを開いてログインします。ログイン インターフェイスは次のとおりです。

Win11 でネットワーク カードの MAC アドレスを確認する方法 Win11 でネットワーク カードの MAC アドレスを取得するコマンドを使用する方法 Win11 でネットワーク カードの MAC アドレスを確認する方法 Win11 でネットワーク カードの MAC アドレスを取得するコマンドを使用する方法 Feb 29, 2024 pm 04:34 PM

この記事では、Win11 システムでコマンド プロンプト (CommandPrompt) を使用してネットワーク アダプターの物理アドレス (MAC アドレス) を確認する方法を読者に紹介します。 MAC アドレスは、ネットワーク通信において重要な役割を果たすネットワーク インターフェイス カード (NIC) の一意の識別子です。コマンド プロンプトを介して、ユーザーは現在のコンピュータ上のすべてのネットワーク アダプタの MAC アドレス情報を簡単に取得できます。これは、ネットワークのトラブルシューティング、ネットワーク設定の構成、その他のタスクに非常に役立ちます。方法 1: 「コマンド プロンプト」を使用する 1. [Win+X] キーの組み合わせを押すか、タスク バーの [Windows ロゴ] を [右クリック] して、表示されるメニュー項目で [ファイル名を指定して実行] を選択します。ウィンドウを実行し、[cmd]コマンドを入力して、

Baidu Netdisk アプリの使用方法 Baidu Netdisk アプリの使用方法 Mar 27, 2024 pm 06:46 PM

クラウド ストレージは今日、私たちの日常生活や仕事に欠かせない部分になっています。中国有数のクラウド ストレージ サービスの 1 つである Baidu Netdisk は、強力なストレージ機能、効率的な伝送速度、便利な操作体験により多くのユーザーの支持を得ています。また、重要なファイルのバックアップ、情報の共有、オンラインでのビデオの視聴、または音楽の聴きたい場合でも、Baidu Cloud Disk はニーズを満たすことができます。しかし、Baidu Netdisk アプリの具体的な使用方法を理解していないユーザーも多いため、このチュートリアルでは Baidu Netdisk アプリの使用方法を詳しく紹介します。まだ混乱しているユーザーは、この記事に従って詳細を学ぶことができます。 Baidu Cloud Network Disk の使用方法: 1. インストール まず、Baidu Cloud ソフトウェアをダウンロードしてインストールするときに、カスタム インストール オプションを選択してください。

BTCC チュートリアル: BTCC 取引所で MetaMask ウォレットをバインドして使用する方法は? BTCC チュートリアル: BTCC 取引所で MetaMask ウォレットをバインドして使用する方法は? Apr 26, 2024 am 09:40 AM

MetaMask (中国語ではリトル フォックス ウォレットとも呼ばれます) は、無料で評判の高い暗号化ウォレット ソフトウェアです。現在、BTCC は MetaMask ウォレットへのバインドをサポートしており、バインド後は MetaMask ウォレットを使用してすぐにログイン、値の保存、コインの購入などが可能になり、初回バインドで 20 USDT のトライアル ボーナスも獲得できます。 BTCCMetaMask ウォレットのチュートリアルでは、MetaMask の登録方法と使用方法、および BTCC で Little Fox ウォレットをバインドして使用する方法を詳しく紹介します。メタマスクウォレットとは何ですか? 3,000 万人を超えるユーザーを抱える MetaMask Little Fox ウォレットは、現在最も人気のある暗号通貨ウォレットの 1 つです。無料で使用でき、拡張機能としてネットワーク上にインストールできます。

hyperv 拡張セッション モードはどこにありますか? Win11 でコマンドを使用して Hyper-V 拡張セッション モードを有効または無効にするためのヒント hyperv 拡張セッション モードはどこにありますか? Win11 でコマンドを使用して Hyper-V 拡張セッション モードを有効または無効にするためのヒント Feb 29, 2024 pm 05:52 PM

Win11 システムでは、コマンドを使用して Hyper-V 拡張セッション モードを有効または無効にできます。この記事では、コマンドを使用して操作する方法を紹介し、ユーザーがシステム内の Hyper-V 機能をより適切に管理および制御できるようにします。 Hyper-V は Microsoft が提供する仮想化テクノロジであり、Windows Server、Windows 10 および 11 (Home Edition を除く) に組み込まれており、ユーザーは Windows システムで仮想オペレーティング システムを実行できます。仮想マシンはホスト オペレーティング システムから分離されていますが、設定を通じてサウンド カードやストレージ デバイスなどのホストのリソースを引き続き使用できます。重要な設定の 1 つは、拡張セッション モードを有効にすることです。拡張セッションモードはハイパーです

See all articles