************************************************************
/**
* Retrieve application root absolute path
*
* @return string
*/
public static function getRoot()
{
return self::$_appRoot;
}
/**
* Retrieve Events Collection
*
* @return Varien_Event_Collection $collection
*/
public static function getEvents()
{
return self::$_events;
}
得到mage的静态变量值,一般都是执行了set函数之后执行的。getRoot() getEvents
************************************************************
1
public static function getVersion()
{
$i = self::getVersionInfo();
return trim("{$i['major']}.{$i['minor']}.{$i['revision']}" . ($i['patch'] != '' ? ".{$i['patch']}" : "") . "-{$i['stability']}{$i['number']}", '.-');
}
2
public static function getVersionInfo()
{
return array(
'major' => '1',
'minor' => '4',
'revision' => '1',
'patch' => '1',
'stability' => '',
'number' => '',
);
}
3字符的叠加,加字符处理函数:
trim
截去字符串首尾的空格。
************************************************************
1.
/**
* Register a new variable
*
* @param string $key
* @param mixed $value
* @param bool $graceful
* @throws Mage_Core_Exception
*/
public static function register($key, $value, $graceful = false)
{
if (isset(self::$_registry[$key])) {
if ($graceful) {
return;
}
self::throwException('Mage registry key "'.$key.'" already exists');
}
self::$_registry[$key] = $value;
}
2.
此函数,该key存在的时候, $graceful为true,则return,否则,则抛出异常。
key值不存在,则,将其写入$_registry[]函数。
************************************************************
/**
* Retrieve a value from registry by a key
*
* @param string $key
* @return mixed
*/
public static function registry($key)
{
if (isset(self::$_registry[$key])) {
return self::$_registry[$key];
}
return null;
}
************************************************************
1.
/**
* Set all my static data to defaults
*
*/
public static function reset()
{
self::$_registry = array();
self::$_app = null;
self::$_config = null;
self::$_events = null;
self::$_objects = null;
self::$_isDownloader = false;
self::$_isDeveloperMode = false;
// do not reset $headersSentThrowsException
}
注意:注释--- do not reset $headersSentThrowsException
************************************************************
1
public static function setRoot($appRoot = '')
{
if (self::$_appRoot) {
return ;
}
if ('' === $appRoot) {
// automagically find application root by dirname of Mage.php
$appRoot = dirname(__FILE__);
}
$appRoot = realpath($appRoot);
if (is_dir($appRoot) and is_readable($appRoot)) {
self::$_appRoot = $appRoot;
} else {
self::throwException($appRoot . ' is not a directory or not readable by this user');
}
}
1
if ('' === $appRoot) {
// automagically find application root by dirname of Mage.php
$appRoot = dirname(__FILE__);
dirname(__FILE__) 返回当前相对目录。
2
realpath
realpath() 函数返回绝对路径。
该函数删除所有符号连接(比如 '/./', '/../' 以及多余的 '/'),返回绝对路径名。
若失败,则返回 false。比如说文件不存在的话。
3
is_dir()
is_dir
测试文件是否为目录。
语法: boolean is_dir(string filename);
返回值: 布尔值
函数种类: 文件存取
4
is_readable
The is_readable() function checks whether the specified file is readable.
is_readable()函数的作用是:判断给定文件名是否可读
判断:1.得到绝对地址,2是否是目录,3是否可读(文件权限)
相对地址-->绝对地址--->是否为目录---->目录是否可读。。
realpath() 函数返回绝对路径。
该函数删除所有符号连接(比如 '/./', '/../' 以及多余的 '/'),返回绝对路径名。
若失败,则返回 false。比如说文件不存在的话。
*************************************************************
1.
/**
* Unregister a variable from register by key
*
* @param string $key
*/
public static function unregister($key)
{
if (isset(self::$_registry[$key])) {
if (is_object(self::$_registry[$key]) && (method_exists(self::$_registry[$key], '__destruct'))) {
self::$_registry[$key]->__destruct();
}
unset(self::$_registry[$key]);
}
}
2.
当在$_registery[key]对应value是字符串,则直接使用unset()方法,将其从$_registery[]数组中删除
如果$_registery[key]对应的value是对象,而且存在__destruct()方法,则先执行__destruct()方法。此处要注意,先通过对象自己删除,然后再将其从$_registery[]中删除。
*************************************************************
/**
* Varien Objects Cache
*
* @param string $key optional, if specified will load this key
* @return Varien_Object_Cache
*/
public static function objects($key = null)
{
if (!self::$_objects) {
self::$_objects = new Varien_Object_Cache;
}
if (is_null($key)) {
return self::$_objects;
} else {
return self::$_objects->load($key);
}
}
分享到:
相关推荐
预先配置的env.php通过带有bin/install.sh套接字连接到env.php 使用bin/install.sh预配置的Elastic Search容器ist Redis容器ist已预先配置为bin/install.sh Magento 2 DB ist中的Mailhog连接已预先配置为bin/install...
Magento 1.X 的实用程序目标简化 Magento 的调试简化具有大量依赖和依赖于其他模块的模块的切换使 Magento 的支持更加有趣和有趣:)要求PHP 5.3+ (cli) 基于 Unix 的操作系统安装在本地克隆此存储库设置bin/mage.phar...
Vbuck_Wkhtmltopdf Magento的wkhtmltopdf适配器模块。客观的替换Zend_Pdf工具套件,以在Magento中生成与...使用modman部署Magento扩展: cd /path/to/project/.modmanmodman clone https://github.com/vbuck/mage-wk
此工具已弃用改用将magento核心作为作曲者依赖项进行管理Magento核心地图 一个小型库,用于为Magento Core软件包创建modman或composer.json映射兼容性该工具可用于PHP> = 5.3的任何版本。 使用Travis在PHP 5.3、5.4...
法师:: PHP MySQL Admin Panel Generator 也可用于Python: PHP MySQL MySQL管理面板生成器(MAGE),这是一个PHP工具,可帮助您在几秒钟内为任何MySQL数据库创建PHP管理面板。 Mage不是PHPMyAdmin; 它不包含您的...
Magento 301通过Optimiseweb V 0.3.2重定向版本号:0.3.2 稳定性:稳定相容性:1.5、1.6、1.6.1、1.6.2.0、1.7、1.8、...安装使用modgit安装: modgit add mage-mod-301-redirect-optimiseweb git@github.com:flintd
Magento EE 产品平面索引错误 Magento应用程序在数据库中维护许多称为索引的表,这些表旨在优化前端性能。 这些索引表本质上提供了数据库中其他地方保存的数据的简化视图。 Magento 企业版维护了许多变更日志表。...
项目设置a)补丁需要在Composer的extra配置区域中声明(仅根软件包): " extra " : { " magento-root-dir " : " public " , " patches " : { " patch-group-1 " : { " patch-name-1 " : { " type " : " patch " , ...
Magento 2 数据库迁移将数据库从 Magento 1.8、1.9 迁移到 Magento 2 beta5。 该程序绝对没有任何保证。... "schumacherfm/mage1-to-mage2": "dev-master", ... }, ... "repositories": [ ... { "type": "vcs",
要启用开发人员模式(例如,在下面的Magento 2中),请使用以下设置...curl -sS https://raw.githubusercontent.com/philwinkle/Magento-PHP-Webserver-Router/master/install.sh | bash 特别感谢对设置的帮助。
Magento Servlet 实现 这是在 servlet 引擎中将 Magento 作为 servlet 运行的简约 servlet 实现。 问题 为了捆绑我们的努力,我们希望在收集有关此包的所有问题。... < display>Mage Servlet < descripti
Magento 性能测试 我用于测试 Magento 性能“东西”的游乐场。
Magento 社区和企业的 EAV 模块中的性能修复修复了 magento 的性能问题: - 即使只需要一个属性,也可以获取所有值。
Magento的Postgres兼容性 动机 早在2010年,Magento 1.4-> 1.6就被重写为到处都有Zend_Select。 它是作为与SQL Server和Oracle兼容的项目而完成的。 当时,Postgres不在范围之内。 即使在Magento 2移至Github之后,...
您不需要直接安装此软件包: 使用Mage2.PRO自动安装该软件包。
Python MAGE :: MySQL管理面板生成器0.3版 也可用于PHP: Python MySQL管理面板生成器(MAGE),这是一个Python...1-如果需要,请创建一个虚拟环境并激活它,否则请转到步骤2 python3 -m venv env source env/bin/ac
指定要使用的环境文件扩展名(即env.php.$MAGE_ENV ),如果未设置,将查找env.php.$MAGE_MODE ENABLE_CRON 离开 启用Magento cron作业 ENABLE_VSF 离开 启用Vue店面,在使用自定义Magento管理员路径时,必须...
该模块由赞助。支持如果您发现了错误,请在 github 上的项目页面上打开一个。 如需安装、解决冲突或专业 Magento 托管方面的付费支持,请通过电子邮件与我们联系。执照此 Magento 扩展是免费软件,根据 GNU 宽松...
Magento2 高级休息权限 向集成和 Webapi 模块添加新的 REST 访客权限,尤其是当您希望将 Magento2 与 AngularJS 前端一起使用时,AngularJS 前端可以在任何地方运行。 该模块仅出于学习目的而创建,但经过更深入的...
magento2-blog 一个可玩 Magento 2.0 的愚蠢小模块现在,它有一些基本的系统配置、一个控制器、一个块和一个模板。 从 Magento/Cms 偷了大部分东西