Концепции ООП:
- Абстракция
- Инкапсуляция
- Полиморфизм
- Наследование
Для примера мы имеем 2 url похожих на эти:
http://zf-tutorial/album/add – 200 – работает
http://zf-tutorial/album/add/ – 404 – запрос не может найти маршрут
Читать далее
Для примера создадим модуль с именем ZfCommons, который будет инициализировать переменную в Layout содержащую namespace модуля…
Читать далее
Создаём файл плагина module/MyModule/src/MyModule/Controller/Plugin/MyFirstPlugin.php
[cc lang=»php»]
< ?php
namespace MyModule\Controller\Plugin;
use Zend\Mvc\Controller\Plugin\AbstractPlugin;
class MyFirstPlugin extends AbstractPlugin
{
public function doSomething() {
// ...
}
}
[/cc]
Читать далее
[cc lang=»php»]
namespace Mod2;
use Zend\ModuleManager\Feature\DependencyIndicatorInterface;
class Module implements DependencyIndicatorInterface
{
public function getModuleDependencies()
{
return array(‘Mod1’);
}
public function getConfig() { /* common code here */ }
public function getAutoloaderConfig() { /* common code here */ }
}
[/cc]
Если модуль Mod1 не был загружен перед модулем Mod2, то фреймфорк выведет сообщение исключения: Module “Mod2″ depends on module “Mod1″
Для примера, нам нужен модуль предоставляющий только контент Ajax, и не нужен слой(макет) во всех действиях. Мы можем сделать трюк, сократив в каждом контролере/действии избыточный код.