mvccore/ext-view-helper

MvcCore - 扩展 - 视图 - 辅助器 - 抽象类代码和接口支持代码,用于创建更复杂的视图辅助器,具有更好的设置和保护属性。

v5.2.2 2024-05-23 06:59 UTC

This package is auto-updated.

Last update: 2024-09-23 08:21:35 UTC


README

Latest Stable Version License PHP Version

抽象类代码和接口支持代码,用于创建更复杂的视图辅助器,具有更好的设置和保护属性。

安装

composer require mvccore/ext-view-helper

示例

您自定义的原始视图辅助器代码

// located in `/App/Views/Helpers/FormatNumber.php`

namespace App\Views\Helpers;

class FormatNumber {
	public function FormatNumber ($number) { // $number = 1234.56;
		return number_format($number); // english notation - 1,234
	}
}

... 可以通过此包变得更加复杂

// located in `/App/Views/Helpers/FormatNumber.php`

namespace App\Views\Helpers;

class FormatNumber extends \MvcCore\Ext\Views\Helpers\AbstractHelper
	public function FormatNumber ($number) { // $number = 1234.56;
		if ($this->request->GetLang() == 'fr') {
			return number_format($number, 2, ',', ' '); // french notation: 1 234,56
		} else {
			return number_format($number); // english notation: 1,234
		}
	}
}

自动分配的保护属性

  • AbstractHelper::$view 作为 \MvcCore\View|\MvcCore\IView
  • AbstractHelper::$controller 作为 \MvcCore\Controller|\MvcCore\IController
  • AbstractHelper::$request 作为 \MvcCore\Request|\MvcCore\IRequest
  • AbstractHelper::$response 作为 \MvcCore\Response|\MvcCore\IResponse

行为

  • 您的视图辅助器将通过静态方法 GetInstance() 以单例模式创建,抽象类为 AbstractHelper
  • 每次渲染不同的视图脚本(动作视图、布局视图或子控制器视图)时,将自动调用方法 AbstractHelper::SetView($view); 来设置视图对象或其他辅助器内部的实际对象。