kazpgmの日記

『プログラム自動作成@自動生成』作成の日記

TOOL更新_次バージョンのプログラム配置はzendframeworkをベースに「kaz PHP自動作成◎自動生成お助けTOOL」のプログラム配置を+する。

TOOL更新_次バージョンのプログラム配置はzendframeworkをベースに「kaz PHP自動作成◎自動生成お助けTOOL」のプログラム配置を+する。。今日まで検討したzendframeworkと、比較は以下のよう。これからプログラム配置はこのページを更新していく。
★★★まずAdminから。「LogininfoaController.php」を例にして。★★★
・・・
■概要
kazが公開フォルダ。.htaccessとadminIndex.php(zendframeworkのもの。お助けTOOLでは「adminIndex.php」)のみ公開フォルダに置く。通常のhtml、js、css、imgもここに置く。
・.kazphpは非公開フォルダにする。applicationおよび、smartyのtemplatesなどはこのフォルダに置く。
・controller(例では「LogininfoaController.php」)と、model(例では「LogininfoaUtil.php」)を同じところ(例では「application/admin/logininfo」フォルダ)に置く(「controllers」フォルダは作らないかつ、modelの位置をzend標準とは違えている。わかりやすさのため)。例:管理者側URLは「http://localhost/samples/kazBase/kaz/admin/logininfo/logininfoa」でアクセスできるようにする。(配置フォルダとURLを同じにすることでわかりやすくした。kaz/admin/adminIndex.phpの「front->setControllerDirectory」後述参照)
・templatesはsmartyを使う。
・404対応の「application/default/・・・」もsmarty

kazBase
├─.kazphp
│  │  common.php
│  │  config.php
│  │  functions.php
│  ├─application
│  │  ├─admin
│  │  │  ├─default
│  │  │  │      ErrorController.php
│  │  │  │      Index1Controller.php
│  │  │  │      IndexController.php
│  │  │  ├─initupload
│  │  │  │      IuplogininfoaCsvController.php
│  │  │  └─logininfo
│  │  │          LogininfoaController.php
│  │  │          LogininfoaUtil.php
│  │  ├─com
│  │  │      FldldController.php
│  │  │      ImagedspController.php
│  │  └─default
│  │         ErrorController.php
│  ├─common
│  │      AppCheckUtil.php
│  │      AppConst.php
│  │      AppDbFunctions.php
│  │      AppDbInterface.php
│  │      AppElements.php
│  │      AppException.php
│  │      AppHtmlUtil.php
│  │      AppLogr.php
│  │      AppSmartyPlugin.php
│  │      AppSrchUtil.php
│  │      ControllerAdminBase.php
│  │      ControllerAdminIUpBase.php
│  │      ControllerBase.php
│  │      ControllerDbBase.php
│  │      DbManager.php
│  │      DbManagerForSeq.php
│  │      OtherException.php
│  │      PageNavi.php
│  │      SysException.php
│  │      TokenHandle.php
│  ├─compile
│  ├─createSql
│  ├─log
│  ├─templates
│  │  ├─mail
│  │  │      automail_header.tpl
│  │  │      mail_footer.tpl
│  │  └─view
│  │      │  analytics.lbi
│  │      │  footer.lbi
│  │      │  header.lbi
│  │      │  menu.lbi
│  │      │  pagetop.lbi
│  │      └─admin
│  │          │  analytics.lbi
│  │          │  errA.html
│  │          │  footer.lbi
│  │          │  header.lbi
│  │          │  index1.html
│  │          │  index.html
│  │          │  menu.lbi
│  │          │  pagetop.lbi
│  │          ├─initupload
│  │          │      IuplogininfoaCsvView.html
│  │          └─logininfo
│  │                  logininfoaAmendRegisterViewInc.html
│  │                  logininfoaAmendView.html
│  │                  logininfoaDetailView.html
│  │                  logininfoaListView.html
│  │                  logininfoaRegisterView.html
│  └─upload
├─.php
│  ├─Pager
│  ├─smarty
│  └─ZendFramework-1.10.7
└─kaz
    │  .htaccess
    │  userIndex.php
    ├─admin
    │  │  .htaccess
    │  │  adminIndex.php
    │  ├─css
    │  ├─img
    │  └─js
    ├─css
    ├─img
    ├─js
    └─upload

kaz/admin/.htaccess

php_flag register_globals off
php_flag magic_quotes_gpc off
php_value mbstring.language Japanese
php_value mbstring.detect_order auto
php_value mbstring.http_input auto
php_value mbstring.http_output utf-8
php_value mbstring.internal_encoding utf-8

php_flag session.use_trans_sid Off
php_flag session.use_cookies On
php_flag session.use_only_cookies On
php_flag session.auto_start Off

php_flag display_errors Off
php_flag display_startup_errors Off
php_flag log_errors On
php_value error_log "C:\xampp\htdocs\samples\kazBase\.kazphp\log/error.log"
RewriteEngine on
#RewriteBase /samples/kazBase/kaz/admin/
RewriteRule !\.(js|ico|gif|jpg|png|css|jpeg|html|avi|swf|pdf)$ adminIndex.php

kaz/admin/adminIndex.php

<?php
define('APP', dirname(__FILE__) . '../../../.kazphp/application');

// ユーザ&管理者 共通部分読込(設定ファイル、共通関数など)
require_once(dirname(__FILE__) . '/../../.kazphp/common.php');
require_once('AppLogr.php');
require_once('AppException.php');
require_once('SysException.php');

try {
    require_once('AppCheckUtil.php');
    require_once('AppSrchUtil.php');
    require_once('TokenHandle.php');
    require_once('AppElements.php');
    Zend_Registry::set('adminUserId', AppConst::VAL_ADMIN);

    $front = Zend_Controller_Front::getInstance();
    $front->setControllerDirectory(
        array(
            'default'  => APP.'/admin/default',
            'logininfo'  => APP.'/admin/logininfo',
            'initupload'  => APP.'/admin/initupload'
        )
    );
    // 自動レンダリングを行いません
    $front->setParam('noViewRenderer', TRUE);
    $front->dispatch();
} catch (Exception $e) {
    // ログ
    $logger = new AppLogr(DIR_LOG, DEBUG_FLG);
    $logger->outErrLog($e->getFile().":". $e->getLine().":".$e->getMessage(), Zend_Log::ERR);
    echo 'Sys : Message: ' . 'The Other Error occurred. ' . "<br />\n";
    exit;
}

■.kazphp/application/admin/logininfo/LogininfoaController.phpのクラス名は以下の様

・・・
class Logininfo_LogininfoaController extends ControllerAdminBase {
・・・

 ■サイト:http://kazpgm.ddo.jp/

3/17 21:00-03:00
3/19 10:30-10:30
3/23 0:00 - 0:30 7:00-7:30「http: //localhost/kaz/admin/logininfo/Logininfo」でアクセスできるようにした
4/08 5:30-6:00 ユーザ側index.phpをuserIndex.phpに変更した。管理者側のindex.phpをadminIndex.phpに変更した。
6/10 21:00-23:00 プログラム配置を全体的にみなおした。
6/15 23:30-23:35 PageNavi.class.phpをPageNavi.phpにリネームして\commonの下に移動した。
7/7 22:00-22:30 名前変更。ControllerABase.php  ー> ControllerDbBase.php、ControllerABaseExt.php ー> ControllerAdminBase.php、PageNavi.class.php ー> PageNavi.php
7/19 11:30-11:30 IndexController.php,Index1Controller.php 追加ほか、http://d.hatena.ne.jp/kazpgm/20100719/1279504742(TOOL更新_管理者側ログインチェックを作った。Ver0.1と同じものをZend frameworksmartyにした。さらに、いろいろ修正。)参照
8/9 11:00-11:10 「.htaccess」のRewriteRuleに”|pdf”を追加した。
8/14 1:30-2:00 initupload(ファイルアップロード処理)のIUplogininfoCsvController.php
、ControllerAdminIUpBase.php、IUplogininfoCsvView.htmlを追記した。
8/25 3:00-3:10 adminIndex.phpに「Zend_Registry::set('adminUserId', AppConst::VAL_ADMIN);」を追加した。http://d.hatena.ne.jp/kazpgm/20100825/1282758753(TOOL更新_ユーザ側作成に伴って作成済みPGMを微調整)を反映した。
8/28 18:00-19:00 「kaz/admin/.htaccess」にphp.iniの項目で基本的に設定する必要がありそうなものをいろいろ追記した。error_logを書いたけど、実際はcommon.phpのset_error_handlerで拾っているのでここには出ないはず。
10/20 23:00-24:00 「adminIndex.php」修正。内容はhttp://d.hatena.ne.jp/kazpgm/20101020/1287585996(TOOL更新_error.logを見たらエラーログが出ているのに気づいた。(次バージョン))
2011/01/22 21:00 TOOL更新_Ver0.1Zd(次バージョン)のZendFramework-1.10.7のinclude_pathを『.php』フォルダに移動する。(http://d.hatena.ne.jp/kazpgm/20110122/1295697206)の内容を反映した。以下の修正および、ほか修正。

<<修正前>>
├─.php
│  └─smarty

<<修正後>>
├─.php
│  ├─Pager
│  ├─smarty
│  └─ZendFramework-1.10.7

2011/02/01 23:00-23:10 LogininfoAをLogininfoa、logininfoAをlogininfoaに修正した。これはhttp://d.hatena.ne.jp/kazpgm/20110131/1296487044による修正を反映したもの。