我是CakePHP世界的新成员,并且只创建/关注了博客教程,并将其扩展到用户。我一直在阅读2.0书籍,以便更熟悉该框架。
在我转到CakePHP之前,我有几个问题。
目前,我开发了一个多域/多主题CMS系统,它是程序化PHP。通过这样做,我已经能够在具有多个域和主题的单个数据库上创建单个系统。
我拿$_SERVER['SERVER_NAME']
并在“品牌”表格中查找,然后返回brand_id和主题目录。然后,我将所有SQL查询后缀为“and brand_id = X”。
我希望转移到Cake,因为目前的平台在规模和复杂性方面变得势不可挡。
所以简而言之......
我可以使用One Core,One App,One Database创建一个可以为多个域和主题提供服务的应用程序吗?
我会使用$_SERVER['SERVER_NAME']
查找域名并返回brand_id和主题吗?
我真的不想拥有多个数据库,好像我们有大量客户在所有数据库中进行更改可能会耗费时间。
我当然不希望拥有多个控制器和多个模型,但在某些情况下,如果客户有特定要求,我们会想要一个定制的视图。
任何有关让我入门的基本配置的指导都会很棒。每个模型都会“属于”一个“品牌”吗?你会如何“服务”一个品牌?
Name: Brand1 Domain: www.brand1.com ThemeDir: Brand1
Name: Brand2 Domain: www.brand2.com ThemeDir: Brand2
答案 0 :(得分:0)
我有类似的情况,我使用通配符子域。我通过做各种事情来实现这一目标。
在我的bootstrap文件中,我正在我的子域中读取并为cakePHP缓存分配一个值。在我的情况下,我打电话:
Configure::write('SubdomainHTTP', $myvalue);
这将是您的域名。
我在routes.php文件中加载了一个名为subdomainRoute.php的文件名。此文件检查以确保我的案例中的路由或子域存在于数据库中。最后通过使用Configure :: write编写子域名和主题名称,如步骤1。
App::uses('SubdomainRoute', 'Routes');
我把它粘在一起,在我的AppController.php中我读了我在第2步中写的信息。特别是主题名称并使用它设置:
$this->theme = $yourtheme;
这应该允许您拥有不同的域名主题。鉴于您必须拥有一个数据库来保存域名列表和主题名称。