我所擁有的是一個symfony應用程序,它包含一些實體以及一些存儲庫。第二個非symfony應用程序應該與第一個非symfony應用程序進行交互,以與其中編寫的某些邏輯進行交互(在此刻僅使用實體及其適當的存儲庫)。 請記住,第一個應用程序可以有它自己的自動加載寄存器等從Symfony應用程序外部訪問和使用Symfony模型圖層
我想對外部應用程序的API類,它停留在app
目錄。要使用該應用程序應該需要一個腳本。這裏的理念是:
app/authInterface.php
,外部應用程序應該要求:
$loader = require __DIR__.'/autoload.php';
require_once (__DIR__.'/APIAuth.php');
return new APIAuth();
,我寫了一個工作APIAuth的例子(代碼是那種凌亂:記住這只是一個嘗試,但你可以的想法):由外殼都叫它
class APIAuth
{
public function __construct()
{
//dev_local is a personal configuration I'm using.
$kernel = new AppKernel('dev_local', false);
$kernel->loadClassCache();
$kernel->boot();
$doctrine = $kernel->getContainer()->get('doctrine');
$em = $doctrine->getManager();
$users = $em->getRepository('BelkaTestBundle:User')->findUsersStartingWith('thisisatry');
}
工作,我很高興與它:
php app/authInterface.php
但我想知道如果我做的最好的方式來講:我在剛裝我真的需要我的代碼運行的資源
- 資源?我真的需要內核嗎?這樣一切正常加載 - 包括數據庫連接 - 但我不知道如果有其他方法可以做到更輕
- symfony邏輯我正在與symfony正確的方式進行交互?有更好的方法嗎?
爲什麼不創建一個HTTP API來驗證外部應用程序? – Hidde
我建議用一個清晰的接口(例如通過REST或XML或類似的東西)用Symfony構建適當的後端。 – LBA
'Auth'只是一個例子:我真的需要通過編程來訪問Symfony,以獲得一系列我所具有的架構約束。我們能專注於真正的話題嗎? :-) – Bertuz