当前位置: 首页>>代码示例>>PHP>>正文


PHP Utils::sfInitInstall方法代码示例

本文整理汇总了PHP中Eccube\Framework\Util\Utils::sfInitInstall方法的典型用法代码示例。如果您正苦于以下问题:PHP Utils::sfInitInstall方法的具体用法?PHP Utils::sfInitInstall怎么用?PHP Utils::sfInitInstall使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Eccube\Framework\Util\Utils的用法示例。


在下文中一共展示了Utils::sfInitInstall方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: convertCallback

 /**
  * Returns a callable given its string representation.
  *
  * @param string $name
  *
  * @return array A callable array
  *
  * @throws \InvalidArgumentException In case the method does not exist.
  */
 public function convertCallback($name)
 {
     if (preg_match(static::PAGE_PATTERN, $name)) {
         return function (Application $app, Request $request) use($name) {
             // setpath
             $path_info = $request->getPathInfo();
             if (substr($path_info, -1) == '/') {
                 $path_info .= 'index.php';
             }
             $_SERVER['SCRIPT_NAME'] = str_replace('/index.php', '', $request->server->get('SCRIPT_NAME')) . $path_info . (substr($path_info, -1) == '/' ? 'index.php' : '');
             $_SERVER['SCRIPT_FILENAME'] = dirname($request->server->get('SCRIPT_FILENAME')) . $path_info;
             // rtrim は PHP バージョン依存対策
             $GLOBALS['_realdir'] = rtrim(realpath(rtrim(realpath(dirname($request->server->get('SCRIPT_FILENAME'))), '/\\') . '/'), '/\\') . '/';
             $GLOBALS['_realdir'] = str_replace('\\', '/', $GLOBALS['_realdir']);
             $GLOBALS['_realdir'] = str_replace('//', '/', $GLOBALS['_realdir']);
             define('HTML_REALDIR', $GLOBALS['_realdir']);
             /** HTMLディレクトリからのDATAディレクトリの相対パス */
             define('HTML2DATA_DIR', '../app/');
             define('USE_FILENAME_DIR_INDEX', null);
             if (!defined('DATA_REALDIR')) {
                 define('DATA_REALDIR', HTML_REALDIR . HTML2DATA_DIR);
             }
             // アプリケーション初期化処理
             if (!defined('CACHE_REALDIR')) {
                 /** キャッシュ生成ディレクトリ */
                 define('CACHE_REALDIR', DATA_REALDIR . "cache/eccube/");
             }
             \Eccube\Framework\Helper\HandleErrorHelper::load();
             // アプリケーション初期化処理
             $objInit = new \Eccube\Framework\Initial();
             $objInit->init();
             // Page instance
             $objPage = new $name($app);
             if ($objPage instanceof \Eccube\Page\Admin\AbstractAdminPage) {
                 define('ADMIN_FUNCTION', true);
             } else {
                 define('FRONT_FUNCTION', true);
             }
             // 定数 SAFE が設定されている場合、DBアクセスを回避する。主に、エラー画面を意図する。
             if (!defined('SAFE') || !SAFE) {
                 // インストール中で無い場合、
                 if (!GcUtils::isInstallFunction()) {
                     // インストールチェック
                     Utils::sfInitInstall();
                     // セッション初期化・開始
                     $sessionFactory = SessionFactory::getInstance();
                     $sessionFactory->initSession();
                     /*
                      * 管理画面の場合は認証行う.
                      * 認証処理忘れ防止のため, \Eccube\Page\Admin::init() 等ではなく, ここでチェックする.
                      */
                     SessionHelper::adminAuthorization();
                 }
             }
             // bufferを初期化する
             if ($objPage instanceof \Eccube\Page\Admin\AbstractAdminPage) {
                 ob_start();
             } else {
                 // 絵文字変換 (除去) フィルターを組み込む。
                 ob_start(array('\\Eccube\\Framework\\MobileEmoji', 'handler'));
                 if (Application::alias('eccube.display')->detectDevice() == DEVICE_TYPE_MOBILE) {
                     // resize_image.phpは除外
                     if (!$objPage instanceof \Eccube\Page\ResizeImage) {
                         /* @var $objMobile MobileHelper */
                         $objMobile = Application::alias('eccube.helper.mobile');
                         $objMobile->sfMobileInit();
                     }
                 }
             }
             $objPage->init();
             $objPage->process();
             $response = ob_get_contents();
             ob_end_clean();
             return $response;
         };
     } else {
         return parent::convertCallback($name);
     }
 }
开发者ID:ChigusaYasoda,项目名称:ec-cube,代码行数:88,代码来源:CallbackResolver.php


注:本文中的Eccube\Framework\Util\Utils::sfInitInstall方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。