enimiste / prado-project-starter
构建网站的启动项目
Requires
- pradosoft/prado: ~3.2
README
一个用于构建基于 PRADO 框架 的 Web 应用的项目骨架。
Prado3 是一个 PHP 5 组件框架(类似于 ASP .NET 对 C# 做的事)。
先决条件
- php : >=5.3.3
- ext-ctype
- ext-dom
- ext-json
- ext-pcre
- ext-spl
安装
首先运行以下命令
$ cd path/to/web/server/www
$ composer create-project enimiste/prado-project-starter project_name
如果一切顺利,请在您喜欢的 IDE 中打开新项目。(例如:PhpStorm)
设置数据库模式和数据
您可以使用许多类型的数据库,因为它支持 PDO 驱动。
在本节中,我将重点关注两种数据库类型: Sqlite 和 Mysql。
- Sqlite :
- 先决条件
- 从 Sqlite3 安装 Sqlite3。
- 在
php.ini
文件上启用 PHP Sqlite 扩展
- 项目附带了一个位于
protected/data/app.db
下的数据库文件。 - 此数据库已预装了所需数据。因此,它已准备好用于下一步。
- 先决条件
- Mysql :
您有两个选项: Mysql 扩展或 Mysqli 扩展
因此,在使用它之前,您应确保所需的扩展已在php.ini
文件中启用。-
打开
protected/config.database.xml
文件。 -
注释掉 sqlite 配置
<database ConnectionString="sqlite:protected/data/app.db"/>
-
取消注释 Mysql 配置(mysql 或 mysqli)
<!-- <database ConnectionString="mysqli:host=localhost;dbname=test" username="dbuser" password="dbpass" /> --> <!-- <database ConnectionString="mysql:host=localhost;dbname=test" username="dbuser" password="dbpass" /> -->
-
在步骤 3 中创建一个名为
;dbname=
的空数据库。 -
用正确的值更新 host、username 和 password。
-
打开您的 Mysql 控制台,并按以下顺序运行以下语句
- 位于
protected/data/migrations
目录下的文件(*.sql)的内容 - 位于
protected/data/seeds
目录下的文件(*.sql)的内容
- 位于
-
参数配置
现在需要更新位于文件 protected/config/parameters.xml
的参数配置。例如
<parameter id="base_url" value="https:///project_name/"/>
此参数用于通过函数 site_url($uri)
构建 assets URL(css、javascripts、...)
在浏览器中测试
现在可以测试项目。
- 检查项目部署的 Web 服务器是否正在运行。
- 如果您使用的是 RDBS,请检查其是否正在运行。
- 在浏览器中输入项目的 URL。例如:
https:///project_name
。 - Web 应用将显示 Frontoffice 的默认页面。
- 要查看 Backoffice,请点击链接 "Espace d'administration"(法语中的 Backoffice 空间,抱歉)
-
将显示一个登录页面。
-
输入以下凭证之一以作为已验证用户访问 Web 应用
-
Bingo,您就可以管理:用户、网站设置
-
文档
项目分为两部分
- FO:前端
- BO:后端
因此,protected/pages
、protected/pages
和 themes
目录被分为两个子目录:fo 和 bo。
主题目录 themes 包含渲染您Web应用每个端口的IHM所需的所有css和js文件。例如:themes\bo
包含在后台IHM中使用的 sb-admin css和js文件。
后台使用的主题是 SB-admin。例如,前台尚未实现。
辅助函数
我添加了一些辅助函数,以便开发者更容易地访问Prado中最常用的功能。
例如
app(); //Shortcut to Prado::getApplication(); user(); //shortcut to Prado::getApplication()->getUser();
等等...现在让我们来了解一下这些函数。