joomla/controller 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

joomla/controller

最新稳定版本:4.0.0

Composer 安装命令:

composer require joomla/controller

包简介

Joomla Controller Package

README 文档

README

Latest Stable Version Total Downloads Latest Unstable Version License

Interfaces

Controller\ControllerInterface

Controller\ControllerInterface is an interface that requires a class to be implemented with the following methods:

  • execute
  • getApplication
  • getInput
  • setApplication
  • setInput

Classes

Controller\AbstractController

Construction

The constructor for Controller\AbstractController takes an optional Joomla\Input\Input object and an optional Joomla\Application\AbstractApplication object. One or the other can be omitted but using getApplication or getInput without setting them will throw an exception.

Usage

The Controller\AbstractController class is abstract so cannot be used directly. The derived class must implement the execute method to satisfy the interface requirements. Note that the execute method no longer takes a "task" argument as each controller class. Multi-task controllers are still possible by overriding the execute method in derived classes. Each controller class should do just one sort of 'thing', such as saving, deleting, checking in, checking out and so on. However, controllers, or even models and views, have the liberty of invoking other controllers to allow for HMVC architectures.

namespace Examples;

use Joomla\Application;
use Joomla\Input;

/**
 * My custom controller.
 *
 * @since  1.0
 */
class MyController extends Controller\Base
{
	/**
	 * Executes the controller.
	 *
	 * @return  void
	 *
	 * @since   1.0
	 * @throws  \RuntimeException
	 */
	public function execute()
	{
		echo time();
	}
}

// We'll assume we've already defined an application in this namespace.
$app = new ExampleApplication;
$input = new Input\Input;

// Instantiate the controller.
$controller = new MyController($input, $app);

// Print the time.
$controller->execute();

Serialization

The Controller\AbstractController class implements Serializable. When serializing, only the input property is serialized. When unserializing, the input variable is unserialized and the internal application property is loaded at runtime.

Installation via Composer

Add "joomla/controller": "~3.0" to the require block in your composer.json and then run composer install.

{
	"require": {
		"joomla/controller": "~3.0"
	}
}

Alternatively, you can simply run the following from the command line:

composer require joomla/controller "~3.0"

If you want to include the test sources, use

composer require --prefer-source joomla/controller "~3.0"

统计信息

  • 总下载量: 86.51k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 3
  • 点击次数: 1
  • 依赖项目数: 4
  • 推荐数: 1

GitHub 信息

  • Stars: 2
  • Watchers: 13
  • Forks: 5
  • 开发语言: PHP

其他信息

  • 授权协议: GPL-2.0-or-later
  • 更新时间: 2013-02-24