一直以来断断续续的学习了一些基础的PHP和MySQL知识,都没有真正的坚持下来,可能是缺乏了实战的元素。Magento无疑是一套编写非常成熟的系统,本来学习的心态,我决定以这套系统为契机,来深入地了解一下PHP的知识。以下先从index.php页面开始,
1 2 3 4 5 6 7 8 9 |
if (version_compare(phpversion(), '5.2.0', '<')===true) { echo '<div style="font:12px/1.35em arial, helvetica, sans-serif;"> <div style="margin:0 0 25px 0; border-bottom:1px solid #ccc;"> <h3 style="margin:0; font-size:1.7em; font-weight:normal; text-transform:none; text-align:left; color:#2f2f2f;"> Whoops, it looks like you have an invalid PHP version.</h3></div><p>Magento supports PHP 5.2.0 or newer. <a href="http://www.magentocommerce.com/install" target="">Find out</a> how to install</a> Magento using PHP-CGI as a work-around.</p></div>'; exit; } |
第一部分通过version_compare函数在比对当前php版本(通过phpversion()获取)是否为5.2.0以后的版本,该函数的返回值是TRUE或FALSE,若否,则提示为无效PHP 版本,需升级php版本才可以开始安装。
1 |
error_reporting(E_ALL | E_STRICT); |
这句代码主要用来设定报错级别。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
//通过getcwd()函数获取当前目录并将其赋值给常量MAGENTO_ROOT define('MAGENTO_ROOT', getcwd()); //查看config.php是否存在,若存在,则包含该文件 $compilerConfig = MAGENTO_ROOT . '/includes/config.php'; if (file_exists($compilerConfig)) { include $compilerConfig; } //如果app文件夹下不存在Mage.php且根目录下有downloader这个文件夹的话,则重定向浏览器到downloader这个文件下,否则报出不存在Mage.php文件 $mageFilename = MAGENTO_ROOT . '/app/Mage.php'; $maintenanceFile = 'maintenance.flag'; if (!file_exists($mageFilename)) { if (is_dir('downloader')) { header("Location: downloader"); } else { echo $mageFilename." was not found"; } exit; } //如果maintenance.flag文件存在的话,通过__FILE__获取当前文件的绝对地址,并通过dirname获取当前的绝对目录,然后包含errors目录下的503.php文件 if (file_exists($maintenanceFile)) { include_once dirname(__FILE__) . '/errors/503.php'; exit; } //包含Mage.php文件 require_once $mageFilename; //判断是否设定为了开发模式 if (isset($_SERVER['MAGE_IS_DEVELOPER_MODE'])) { Mage::setIsDeveloperMode(true); } //设置文件权限 umask(0); $mageRunCode = isset($_SERVER['MAGE_RUN_CODE']) ? $_SERVER['MAGE_RUN_CODE'] : ''; $mageRunType = isset($_SERVER['MAGE_RUN_TYPE']) ? $_SERVER['MAGE_RUN_TYPE'] : 'store'; Mage::run($mageRunCode, $mageRunType); |