使用 CakePHP 快速打造 Web 站点
注意:如果默认主页看上去更像图 2,则说明 mod_rewrite
并没有按照 CakePHP 所需的方式运行。第一次使用 CakePHP 的用户有时可能会遇到这个问题。
图 2. 外观不正确的主页
以下是一些需要确认的东西。
.htaccess 文件是否正确?
.htaccess 文件应当已出现在 CakePHP 安装目录中。在大多数 *nix 系统中,此文件都是默认隐藏的。如果没有该文件,请检查下载的源文件或从 CakePHP.org 获得最新更新。通过访问安装目录并运行 cat .htaccess
,确认该文件是否存在且有效。这将显示该文件的内容,其内容应当类似于清单 4。
清单 4. 确认 .htaccess 文件是否存在
?
服务器是否允许 .htaccess 覆盖?
确保将 Web 服务器配置为允许 .htaccess 覆盖。对于 Apache,每个目录都应在 httpd.conf 文件中定义。这些定义可能因为安装的不同看上去有所不同,但应当仍会在定义中看到 AllowOverride All
一行。定义可能类似于清单 5。
清单 5. httpd.conf 文件中的定义
如果默认主页指出数据库配置文件不存在,则您可能将其放在了错误的位置或者其名称不正确。确保数据库配置文件为 app/config/database.php。如果默认主页指出 CakePHP 无法连接数据库,那么确认输入的连接信息是否有效,然后重试。
回页首
创建应用程序表
现在,CakePHP、Web 服务器和数据库都关联到一起了。开始动手实践吧!Tor 需要一个 users 表。
这个表将包含识别用户和与用户交互所需的基本信息。简单的用户名和密码字段可能就够了,但其他信息也可能有用,例如电子邮件地址(用于发送密码重置请求)、名字和姓氏(用于个性化服务)以及最后一次登录的日期(用于帮助跟踪不活动的帐户)。您可能希望用户名和电子邮件字段是惟一的。另外,不要忘记主键 ID 字段。创建表的 SQL 可能类似于清单 7。
清单 7. 创建表的 SQL
CREATE TABLE 'users' ('id' INT( 10 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,'username' VARCHAR( 40 ) NOT NULL ,'password' VARCHAR( 40 ) NOT NULL ,'email' VARCHAR( 255 ) NOT NULL ,'first_name' VARCHAR( 40 ) NOT NULL ,'last_name' VARCHAR( 40 ) NOT NULL , UNIQUE ( 'username' ,, 'email')) TYPE = MYISAM ;
?
注意,username
、password
、first_name
和 last_name
字段最多包含 40 个字符。在 user 模型中将强制要求不超过这个字符长度。在本例中,40 个字符的最大长度完全是任意设定的。