The symfony Cookbook

Thay đổi cấu trúc thư mục mặc định

You are currently browsing
the website for symfony 1

Visit the Symfony2 website


About

You are currently reading "The symfony Cookbook" which is licensed under the Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 Unported License license.

Master symfony

Be trained by SensioLabs experts (2 to 6 day sessions -- French or English).
trainings.sensiolabs.com

Books on symfony

Learn more about symfony with the official guides.
books.sensiolabs.com

L'audit Qualité par SensioLabs

200 points de contrôle de votre applicatif web.
audit.sensiolabs.com
symfony training
Be trained by symfony experts
May 29: Paris (Web Development with Symfony2 - Français)
May 31: Paris (Mastering Symfony2 - Français)
Jun 06: Paris (Introduction to Symfony2 - Français)
Jun 06: Paris (Introduction to Symfony2 - English)
Jun 06: Paris (Going Further with Symfony2 - English)
and more...

Search


powered by google
You are currently browsing "The symfony Cookbook" in for the 1.1 version - Switch to version: - Switch to language:
Creative Commons License This work is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 Unported License.
Translation of this work into another language is explicitly allowed.
This version of symfony is not maintained anymore.
If some of your projects still use this version, consider upgrading as soon as possible.

Một trong những lợi ích của việc sử dụng một framework là nó đem lại cấu trúc nhất quán cho các project của bạn. Tất cả các project đều có cùng một coding standard, và cùng một cấu trúc thư mục như nhau. Cấu trúc này cho phép vài lập trình viên cùng phát triển một project ở cùng một thời điểm. Nó cũng thuận tiện cho việc bảo trì ứng dụng. Khi bạn được yêu cầu bảo trì một dự án symfony mà bạn không phải là người phát triển từ đầu, bạn luôn biết rõ cấu trúc các file và nhanh chóng tiếp cận được với dự án để bắt đầu chỉnh sửa.

Nhưng đôi khi, bạn cần thay đổi cấu trúc thư mục mặc định của symfony. Ta sẽ xem xét vấn đề này qua 2 ví dụ khác nhau.

Đầu tiên, khi symfony project bạn đưa lên một shared host với thư mục web root là public_html. Bằng cách sửa class ProjectConfiguration, bạn có thể dễ dàng thay đổi thư mục web root mặc định từ web thành public_html:

// config/ProjectConfiguration.class.php
class ProjectConfiguration extends sfProjectConfiguration
{
  public function setup()
  {
    $this->setWebDir($this->getRootDir().'/../public_html');
  }
}

Xét một ví dụ khác. Project symfony của bạn bây giờ được đưa lên host của một công ty rất lớn với những quy định bảo mật rất chặt chẽ. Họ chỉ cho phép ứng dụng của bạn được ghi lên những thư mục được chỉ định sẵn (như /tmp chẳng hạn). Do symfony chỉ ghi lên 2 thư mục (cache, và log), nên ta chỉ cần cập nhật lại class ProjectConfiguration để chuyển những thư mục này vào trong thư mục /tmp:

// config/ProjectConfiguration.class.php
class ProjectConfiguration extends sfProjectConfiguration
{
  public function setup()
  {
    $this->setCacheDir('/tmp/myproject/cache');
    $this->setLogDir('/tmp/myproject/log');
  }
}

Phương thức setCacheDir() không chỉ đổi đường dẫn sf_cache_dir mà còn đổi tất cả các thư mục cache liên quan: sf_app_base_cache_dir, sf_app_cache_dir, sf_template_cache_dir, sf_i18n_cache_dir, sf_config_cache_dir, sf_test_cache_dir, và sf_module_cache_dir.

Do tất cả các lớp cấu hình đều được sử dụng bởi symfony CLI, nên tất cả các chỉnh sửa trên đều có thể được thực hiện thông qua các lệnh có sẵn trong symfony.

Nhờ có những lớp cấu hình mới trong symfony 1.1, việc cấu hình framework giờ đây trở nên thật dễ dàng.

Questions & Feedback

If you find a typo or an error, please register and open a ticket.

If you need support or have a technical question, please post to the official user mailing-list.