locomotivemtl / charcoal-city-boilerplate
模板,Charcoal City 项目
Requires
- php: >=5.6.0
- beneroch/charcoal-attachment: dev-mcaskill-config as 0.3
- beneroch/charcoal-utils: dev-master
- locomotivemtl/charcoal-admin: ^0.2.5
- locomotivemtl/charcoal-app: ^0.4.5
- locomotivemtl/charcoal-city: ~0.2
- locomotivemtl/charcoal-email: ~0.1
- locomotivemtl/charcoal-search: ~0.1
- mcaskill/charcoal-support: dev-master
- mcaskill/slim-polyglot: dev-master
- mustache/mustache: ^2.10
Requires (Dev)
- phpunit/phpunit: ^4.8
- squizlabs/php_codesniffer: ^2.4
This package is auto-updated.
Last update: 2024-09-06 09:36:37 UTC
README
本项目旨在提供一个完整的“模板”(空“骨架”项目)用于使用Charcoal框架的“城市”项目。安装过程完全自动化。
目录
如何安装
要使用此模板开始 Charcoal 项目,只需
1. 创建/克隆城市模板
$ composer create-project locomotivemtl/charcoal-city-boilerplate [path] --prefer-source -s dev
使用 --prefer-source
参数确保您可以在编辑供应商的同时,-s dev
参数指定 composer 使用最新的开发模板。
关于文档根目录
👉 项目不应直接克隆到可访问的目录中。Web 服务器应配置为直接提供
www/
文件夹。其他文件夹(vendor/
、src/
、templates/
、metadata/
、config/
等)因此不应从 Web 服务器提供(保留在文档根目录之外)。
2. 安装过程
创建项目设置
- 您想删除现有的 VCS (.git, .svn..) 历史?[Y,n]?
- 是的。这将删除 charcoal-city-boilerplate 仓库信息。
项目设置
项目设置使用给定的名称重命名所有文件为当前选定的命名空间。
手动调用
$ ./vendor/bin/charcoal city/setup
-
项目的名称是什么?
- 可以是基本上任何有效的字符串,但不能是
charcoal
或city
,因为它们是已使用的两个命名空间。
- 可以是基本上任何有效的字符串,但不能是
-
项目的命名空间是什么?
- 默认情况下将是项目名称的首字母大写。所有内容都将相应重命名。
Composer 设置
Composer 设置更新 composer.json 文件以匹配当前项目信息。
-
项目的 VCS 仓库是什么?(留空以使用已安装的 VCS)
- 将项目持有的仓库。如果指定,脚本将确保执行
git init
和git remote add origin [指定仓库]
- 将项目持有的仓库。如果指定,脚本将确保执行
-
项目的网站 URL 是什么?(可选)
- 使用给定信息更新 composer.json 文件。
城市配置脚本
城市配置脚本生成一个数据库和一个匹配给定信息的 config.local.json 文件。
手动调用
$ ./vendor/bin/charcoal city/config
- 数据库名称(数据库将被创建或覆盖,留空以使用其他数据库)
- 数据库名称。如果未指定,您将需要手动编辑自动生成的 config.local.json 文件。
- 数据库用户名 : [默认: root]
- 数据库用户名(通常是 root)
- 数据库密码 : [默认: '']
- 数据库密码(默认为空字符串)
- 数据库主机名 : [默认: 127.0.0.1]
- 数据库主机名可以是 127.0.0.1 或 localhost。
3. 即刻可用
您现在可以访问本地网页并访问首页模板、默认新闻和默认事件。根据您的安装,您可能需要更新 hosts 文件。
4. 基本调试
如果您成功完成所有这些步骤后看不到主页,请确保您已相应地更改了hosts文件。然后,您可以手动执行composer update
来更新项目,这将重建自动加载并更新到最新版本。如果所有方法都失败,请向Joel或Bene求助。
5. 设置charcoal-admin
此步骤现在已完全自动化。
首先,确保管理员模块(即后端)已正确设置并准备就绪
$ cd vendor/locomotivemtl/charcoal-admin $ npm install $ bower install $ grunt $ cd -
然后创建第一个管理员用户,以便能够登录后端
$ ./vendor/bin/charcoal admin/user/create
👉 由
charcoal-app
提供的./vendor/bin/charcoal
CLI工具是运行各种脚本所必需的,其中许多由charcoal-admin
和charcoal-base
模块提供。
将您的浏览器指向http://localhost:8080/,您应该能看到模板的默认主页。
自定义后端的下一步是配置主菜单以及各种
依赖项和需求
PHP 5.5+
ext-json
ext-pdo
ext-spl
ext-mbstring
Charcoal模块
- charcoal-admin
- 后端,或控制面板。
- charcoal-app
- 基于Slim的应用组件。
- charcoal-base
- 基础对象和行为。
- charcoal-cms
- CMS对象(部分、新闻、活动等)
- charcoal-core
- 核心对象、模型、来源。
- charcoal-config
- 基础配置系统。
- charcoal-email
- 基于phpmailer的电子邮件实用工具。
- charcoal-factory
- 动态对象创建。
- charcoal-image
- 图像处理和效果。
- charcoal-property
- 元数据的属性。
- charcoal-translation
- 翻译实用工具。
- charcoal-ui
- UI对象(表单、菜单、仪表板、布局等)
- charcoal-view
- 视图渲染器。(mustache、twig等)
状态矩阵
这个模板内部有什么?
像所有Charcoal项目/模块一样,主要组件包括
- 自动加载器
- 由Composer提供。
- 配置
- 作为JSON或PHP文件位于
config/
目录中。 - 使用
locomotivemtl/charcoal-config
- 作为JSON或PHP文件位于
- 前端控制器
- 有关详细信息,请参阅
www/.htaccess
和www/index.php
。 - 路由分发器
- 有关详细信息,请参阅
- 脚本控制器(Charoal二进制文件)
- 从
charcoal-app
安装为vendor/bin/charcoal
。
- 从
- PHP脚本
- PSR-1、PSR-2和PSR-4兼容的脚本位于
src/
。 - 通常有3种类型的控制器
- 模板
- 操作
- 脚本
- ... 2种类型的对象
- 基于内容的对象
- 基于UserData的对象
- ...以及所有其他类型的脚本(服务、助手、配置、工厂等)
- PSR-1、PSR-2和PSR-4兼容的脚本位于
- 资源
- 资源是必须放在web服务器根目录中的文件
- 脚本,位于
src/scripts/
并在www/assets/scripts/
中编译 - 样式,使用Sass位于
src/styles/
并在www/assets/styles/
中编译CSS - 图片,位于
www/assets/images/
开发
安装开发环境
★ composer install --prefer-source
运行脚本(phplint、phpcs和phpunit)
★ composer test
API文档
- 自动生成的
phpDocumentor
API文档可在https://locomotivemtl.github.io/charcoal-base/docs/master/找到 - 自动生成的
apigen
API文档可在https://codedoc.pub/locomotivemtl/charcoal-base/master/找到
开发依赖项
phpunit/phpunit
squizlabs/php_codesniffer
大野俊一/php-coveralls
持续集成
编码风格
炭基模块遵循炭编码风格
- PSR-1
- PSR-2
- PSR-4,因此自动加载由Composer提供。
- phpDocumentor注释。
- 阅读phpcs.xml文件以获取有关代码风格的详细信息。
可以使用
composer phpcs
执行代码风格验证/强制执行。还有一个自动修复工具,使用composer phpcbf
。
作者
- Mathieu Ducharme,mat@locomotive.ca
- Joel Alphonso,joel@locomotive.ca
变更日志
未发布