facebook twitter hatena line email

「Php/autoload作成」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(ページの作成:「==サンプル== class AutoloadModel { public static function register() { spl_autoload_register(array(__CLASS__, 'load')); } public static function load($n...」)
 
 
行1: 行1:
 
==サンプル==
 
==サンプル==
 +
-AutoloadModel.php
 
  class AutoloadModel
 
  class AutoloadModel
 
  {
 
  {
行24: 行25:
 
  }
 
  }
  
==処理のはじめに記述==
+
-index.php
 
  require_once APPLICATION_PATH . '/models/AutoloadModel.php';
 
  require_once APPLICATION_PATH . '/models/AutoloadModel.php';
 
  AutoloadModel::register();
 
  AutoloadModel::register();

2016年1月30日 (土) 18:30時点における最新版

サンプル

-AutoloadModel.php

class AutoloadModel
{
 public static function register()
 {
   spl_autoload_register(array(__CLASS__, 'load'));
 }
 public static function load($name)
 {
   if (preg_match("/(Dao|Logic)$/", $name, $matches)) {
     switch ($matches[1]) {
     case 'Dao':
       $path = APPLICATION_PATH . '/models/dao/' . $name . '.php';
       break;
     case 'Logic':
       $path = APPLICATION_PATH . '/models/logic/' . $name . '.php';
       break;
     }
     if (file_exists($path)) {
       require_once $path;
     }
   }
 }
}

-index.php

require_once APPLICATION_PATH . '/models/AutoloadModel.php';
AutoloadModel::register();