enetwiz / symfony2.2-starter
快速项目启动包:Symfony 2.2 + jQuery + Twitter Bootstrap + 更多!
Requires
- php: >=5.3.3
- braincrafted/bootstrap-bundle: 1.3.2
- composer/composer: 1.0.0-alpha6
- doctrine/doctrine-bundle: 1.2.*
- doctrine/orm: ~2.2,>=2.2.3
- jms/di-extra-bundle: 1.3.*
- jms/security-extra-bundle: 1.4.*
- jquery/jquery: 1.9.*
- knplabs/knp-menu: 1.1.*
- knplabs/knp-menu-bundle: 1.1.x-dev
- sensio/distribution-bundle: 2.2.*
- sensio/framework-extra-bundle: 2.2.*
- sensio/generator-bundle: 2.2.*
- sonata-project/admin-bundle: dev-master
- sonata-project/block-bundle: dev-master
- sonata-project/doctrine-orm-admin-bundle: dev-master
- sonata-project/easy-extends-bundle: dev-master
- sonata-project/user-bundle: dev-master
- symfony/assetic-bundle: 2.1.*
- symfony/monolog-bundle: 2.2.*
- symfony/swiftmailer-bundle: 2.2.*
- symfony/symfony: 2.2.*
- twig/extensions: 1.0.*
- twitter/bootstrap: 2.3.*
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`*
-
下载并安装依赖关系管理工具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
.. 待办事项:提及安全规则和在家目录中安装
-
使用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 - 应添加一些稳定的版本,因为从缓存外拉取包会更慢