У меня есть веб-сайт, которому 15 лет и который изначально был написан на PHP-коде. Я недавно привил бэкэнд, реализованный в CakePHP, который я поместил в его собственную папку на главном веб-сайте (все URL выглядят как http://www.mysite.com/console/<cake stuff>
).
Этот бэкэнд работает нормально, и у меня есть много полезных функций в части CakePHP - но теперь я хотел бы иметь возможность получить доступ к некоторым из этих функций с главного сайта, так как это кажется пустой тратой на повторную реализацию в ванильном PHP.
Конечно, одним из вариантов было бы, чтобы код Cake выдавал результаты в JSON, а затем на странице PHP я мог бы использовать curl, вызывая действие, в псевдокоде:
$data = curl('http://mysite.com/console/accounts/data.json');
$accounts = json_decode($data);
Но, кажется, очень неэффективно использовать curl на странице на том же сайте .
Вместо этого я хотел бы иметь класс, который будет работать примерно так:
require('clever_stuff.php');
$cakeAccessor = new CakeAccessor(<settings>);
$accounts = $cakeAccessor->requestAction('orders','data');
Я искал в Интернете и ничего не могу найти. Но прежде чем пытаться реализовать свой собственный класс (который, я надеюсь, станет возможным, скопировав код в сценариях оболочки, предназначенных для вызова функциональности Cake из командной строки), я подумал, есть ли кто-нибудь новый модуль с открытым исходным кодом, который уже делает это.
Обратите внимание: невозможно переместить все страницы с основного сайта в каталог webroot.