enetwiz/symfony2.2-starter

关于此包最新版本(dev-master)没有提供许可证信息。

快速项目启动包:Symfony 2.2 + jQuery + Twitter Bootstrap + 更多!

dev-master 2013-05-04 11:59 UTC

This package is not auto-updated.

Last update: 2024-09-14 14:53:03 UTC


README

注意:说明正在更新

什么是基础安装?

本包的目的是允许快速创建新的Symfony 2.2项目,包括基本包和库,如

  • jQuery - 流行的JS库(默认情况下是从Google CDN加载的)

  • / 在不久的将来 / Initializr - HTML5项目的启动包 :: http://www.initializr.com

  • TwitterBootstrap :: bundle BraincraftedBootstrapBundle + NodeJs编译器

  • SonataAdminBundle - 管理面板 以及 ORM Doctrine 支持

  • FOSUserBundle - 用户管理模块(登录,账户编辑,权限)

  • Composer - 依赖管理工具(类似于PEAR)

基础安装的重要特性是分离出 Symfony2 的库(bundle),使其不在项目目录中,从而可以在同一服务器上共享类,同时提高 PHP 加速器(如流行的APC)的效率。

说明中也包括有关安装和配置 Nodejs 编译器(LESS文件编译器)的提示,以及有关服务器配置和解决与安装/使用 Symfony2 相关的常见问题的指南。

基础包被设计成尽可能快速地使框架准备就绪,无需执行标准操作。

说明中提到的所有操作和命令都是在 *nix 系统上执行的。

要求

  • 已安装 Apache 2.2 + PHP 5.3+ + MySQL 5.x(建议使用LAMP包) :: 查看 https://help.ubuntu.com/community/ApacheMySQLPHP

  • 已安装包 GIT - 版本控制系统 :: 在终端中使用命令安装

     sudo apt-get install git
    
  • 已安装curl库

     sudo apt-get install curl
    

使用Composer安装

*`UWAGA: mozesz pominac te sekcje, jezeli zrobiles to w poprzedniej instalacji pakietu symfony2.2-starter`*
  1. 下载并安装依赖关系管理工具Composer(例如在www目录中:/var/www/

    cd /var/www/
    curl -s https://getcomposer.org/installer | php
    

    注意:如果您没有权限在除您的主目录以外的目录中操作数据(例如,/home/nazwa_uzytkownika/),则必须在每个命令前加上“sudo”

    sudo curl -s https://getcomposer.org/installer | sudo php
    

    .. 待办事项:提及安全规则和在家目录中安装

  2. 使用Composer生成Symfony2项目目录

    php composer.phar create-project enetwiz/symfony2.2-starter /var/www/sf2-2projects --stability=dev
    

    当安装程序询问“您想删除现有的VCS (.git, .svn.)”时,请肯定回答。这样您就可以删除不需要的'.git'目录。

    .. 待办事项:添加有关修改composer.json的信息

服务器配置

注意:如果您在以前的symfony2.2-starter包安装中已经完成了这些,则可以跳过此部分

启动项目Symfony 2.2的基础是适当的配置服务器。必须启用rewrite模块(这将使我们能够正确映射地址)。还需要在配置文件PHP.ini中进行更改。可能还需要配置虚拟主机<VirtualHost>)。

PHP配置

在浏览器中运行地址 https:///sf2-2projects/project1/web/config.php 以识别典型的配置问题。在此阶段,您应解决“主要问题”部分中的所有错误 - 如果不执行此步骤,SF2应用程序可能无法正常工作。

安装“intl”扩展(国际化)

尽管扩展 intl 不属于必需模块,但您也需要在您的PHP版本中安装它,因为没有它,将无法正常工作SonataUserBundle 包。为了安装此扩展,请在控制台执行以下命令:

    sudo apt-get install php5-intl

启用模块重写(mod_rewrite)

在大多数基本服务器配置中,模块重写(rewrite)默认是禁用的。因此,请在终端中输入以下内容:

    sudo a2enmod rewrite
    sudo service apache2 restart

创建新项目/应用

待办:描述

应用和系统包

待办:描述如何处理多个应用和项目

虚拟主机配置

待办:完成 - 可以将其独立成其他部分,因为每次都定义虚拟主机

Composer - 包管理器

项目已自动附带包管理器,它允许我们有效地将包及其依赖项添加到项目中。有关如何使用Composer的更多信息,请参阅这里

UWAGA: Znany jest blad zw. z ustawieniem timezone w php.ini, ktory wystepuje TYLKO w terminalu przy wywolaniu 
polecen Composer'a. Blad to: "Warning: date_default_timezone_get(): It is not safe to rely on the system's 
timezone settings" - rozwiazanie: https://github.com/Seldaek/monolog/pull/121#issuecomment-10328515

待办:描述错误:[RuntimeException] Failed to clone 待办:描述从packagist快速安装包:php composer.phar require sonata-project/admin-bundle 待办:描述移除.git和gitignore

Less

由于默认附加包 TwitterBootstrap 具有与LESS兼容的文件( 关于LESS的更多信息 ),我建议在开发机器上安装LESS文件编译器,即 Nodejs。借助Nodejs,我们可以轻松地更改默认样式值(终于结束了对TwitterBootstrap默认样式的覆盖!)。要安装Nodejs,请在控制台执行以下命令:

sudo apt-get install npm
sudo npm install -g less

重要的是,Nodejs编译器默认配置在Assetic包的配置中(请参阅 nowy_projekt/app/config/config.yml > # Assetic Configuration > filters 部分),因此每次执行 php app/console assetic:dump --env=prod --no-debug 命令时,都会通过此编译器处理所有bootstrap文件(CSS、JS)。

用户管理

待办:app/console doctrine:schema:update --force 待办:app/console fos:user:create --super-admin

已知问题

待办:符号链接(链接)和Windows

待办:定义许可证;列出各个包的许可证

待办:composer.json - 应添加一些稳定的版本,因为从缓存外拉取包会更慢