2015-02-08 118 views
0

我正在嘗試將Wordpress集成到CakePHP 2.6.1 to use it as a CMS中供我的最終用戶使用。 我包含訪問wordpress功能所需的文件:wp-blog-header.php在CakePHP中集成Wordpress CMS

由於CakePHP中只允許包括位於內CakePHP的文件,我把WordPress的安裝紙內app/Vendor/wordpress現在我試圖導入necesary文件在我AppController這樣:

App::import('Vendor', 'wordpress'.DS.'wp-blog-header'); 

但似乎有有些函數與CakePHP收到此錯誤時發生衝突:

Error: Cannot redeclare __() (previously declared in /home/todopeta/alvarotrigo/pruebas/cakephp/lib/Cake/basics.php:581)
File: /home/todopeta/alvarotrigo/pruebas/cakephp/app/Vendor/wordpress/wp-includes/l10n.php
Line: 163

有沒有人在CakePHP中集成了wordpress?

這是怎麼回事?我看過it seems to be possible with other PHP MVC frameworksk such as Laravel。 CakePHP在這方面更受限制嗎?

+0

所以,你正在用牛仔裝飾你的蛋糕,聽起來不太好吃......我建議不要試圖混合這兩個,它是一個災難,如果你真的需要使用WP無論出於何種原因,從你的CakePHP應用中分離運行它。 https://www.google.com/search?q=wordpress+and+cakephp – ndm 2015-02-08 20:20:33

+0

@ndm,但CakePHP不允許包含來自外部的文件。我錯了嗎? – Alvaro 2015-02-08 20:23:29

+0

這是PHP,你可以包括儘可能多的,你想要的。問題是你可能必須包含大量的文件,併爲WP腳本做一些引導或初始化操作,然後最終以一段非常難看的代碼結束。 – burzum 2015-02-09 12:56:44

回答

1

訪問WP的數據,並添加一個模型爲每個WP表和通過CakePHP讀取數據。

你的鏈接文章的確如此,但它使用WP_Query類,並進一步向下Corcel,這似乎是雄辯的ORM和WP之間的混合。我不會走這條路,並使用CakePHP ORM。

我可以向你保證,由於富有代表性的WP代碼和體系結構,其他一切都將成爲後面的痛苦。

如果您嘗試在CakePHP中使用WP代碼,就像您嘗試過的那樣,這會變得非常痛苦,耗時並且可能永遠不能正常工作,而且沒有一些真正非常糟糕的代碼。

如果您只需要WP的部件,請考慮創建一個WP插件並通過頁面中的iframe嵌入WP內容。 AFAIK WP最近也獲得了json API,您也可以嘗試通過該API讀取數據。

0

你將會陷入一場噩夢,並以這種方式結束大量的代碼。

相反,爲什麼不嘗試並使用CakePHP的CMS系統,例如:通過創造CakePHP的一個WP插件

https://croogo.org/

+0

對不起,但客戶仍然喜歡wordpress一個(我也是如此)。我並沒有期待它是如此重要,因爲它似乎沒有與[其他PHP框架](http://grossi.io/2014/working-with-laravel-4-and-wordpress-together /)。 – Alvaro 2015-02-08 20:28:04

+0

我並不羨慕你對這一個阿爾瓦羅,我同意WP後端有一個不錯的設計,但它真的將是一個工作地獄,整合兩者。我想你可以爲後端用戶創建一個WP安裝,並構建一個使用相同數據庫的CakePHP應用程序 - 所以它由wp填充並通過蛋糕讀取 - 但是我對這個想法不寒而慄! – 2015-02-08 20:37:45