欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

今日开始带两个实习生做php(2)

程序员文章站 2024-02-12 11:37:10
...
今天开始带两个实习生做php(2)

今天开始带两个实习生做php(1)的框架个人觉得太垃圾了,于是重新写了一个。

首先是index.php,工程的入口。

index.php

?

?可以从代码看到这个php跳转到「app/login/Controller/LoginController.php?m=init」url上

那就看下LoginController.php

?

assign(FORM, $form);		$smarty->display('view/login/login.htm');	}	/**	 * 開始ボタンを押す処理	 */	public function start() {		// フォームを取得する		$form = parent :: post2Form(APP_LOGIN);		// Serviceを呼び出す		parent :: doService(APP_LOGIN, METHOD_START, $form, false);		// smartyを作成する		$smarty = parent :: getSmarty();		$smarty->assign(FORM, $form);		$smarty->display('view/login/login.htm');	}}// Controllerをインスタンスする$loginController = new LoginController;// メソッドを取得する$method = $loginController->getMethod();// 実行する$loginController-> $method ();?>

?这个代码里面有很多用到了父类的方法,我们再看下父类吧

?

BaseController.php

template_dir = TEMPLATE_DIR;		$smarty->compile_dir = COMPILE_DIR;		$smarty->config_dir = CONFIG_DIR;		$smarty->cache_dir = CACHE_DIR;		$smarty->left_delimiter = LEFT_DELIMITER;		$smarty->right_delimiter = RIGHT_DELIMITER;		// プロジェクト名を設定する		$smarty->assign(P_NAME, P_NAME_VAL);		return $smarty;	}	/**	 * REQUEST_URIからメソッドを取得	 */	public function getMethod() {		$uri = $_SERVER['REQUEST_URI'];		// uriがempty以外の場合		if (!StringUtils :: isEmpty($uri)) {			$arrUrl = parse_url($_SERVER['REQUEST_URI']);			// uri中メソッド名を設定設定する場合			if (!StringUtils :: isEmpty($uri)) {				$arrParams = null;				parse_str($arrUrl['query'], $arrParams);				return $arrParams['m'];				// uri中メソッド名を設定しない場合			} else {				return METHOD_INIT;			}			// uriがemptyの場合		} else {			return METHOD_INIT;		}	}	/**	 * $_POST中の値からformにセットする	 */	public function post2Form($name) {		require_once (APP_PATH . $name . '/form/' . $name . 'Form.php');		$formName = $name . 'Form';		// formを初期化する		$form = new $formName;		// formのすべての変数を取得する		$class_var_arr = get_class_vars(get_class($form));		foreach ($class_var_arr as $name => $value) {			if (!StringUtils :: isEmpty(@ $_POST[$name])) {				$form-> $name = @ $_POST[$name];			}		}		return $form;	}	/**	* $_GET中の値からformにセットする	*/	public function get2Form(& $form) {		// formのすべての変数を取得する		$class_var_arr = get_class_vars(get_class($form));		foreach ($class_var_arr as $name => $value) {			if (!StringUtils :: isEmpty(@ $_GET[$name])) {				$form-> $name = @ $_GET[$name];			}		}	}       /**	 * Serviceを呼び出す	 * 	 * @param String $name 機能名	 * @param String $methodName 呼び出されたメソッド名	 * @param Object $form フォーム	 * @param boolean $isOpenTrans true:トランザクション必要 false:トランザクション必要がない	 */	public function doService($name, $methodName, & $form, $isOpenTrans) {		require_once (APP_PATH . $name . '/service/' . $name . 'Service.php');		// TODO $isOpenTrans		$serviceName = $name . 'Service';		$service = new $serviceName;		$service-> $methodName ($form);		// TODO $isOpenTrans	}}?>

?常量文件

?

Const.php

?

?工具文件:

?

StringUtils.php

?

?

?

?html代码

login.htm

	ああ

2013年春のアンケート調査

社員*

?

?

?到目前为止,form实例化,service调用已经封装,

为完待续。

如果有好的建议请大家给指导下,我以前没有做过php,所以如果有错误请见谅。

?

1 楼 houxinyou 2013-03-22
网上有那么多现成的PHP框架为什么不用呢?

2 楼 guyanliang 20 小时前
zend-framework 干嘛不用呢
今日开始带两个实习生做php(2)

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频


网友评论

文明上网理性发言,请遵守 新闻评论服务协议

我要评论
  • 今日开始带两个实习生做php(2)
  • 专题推荐

    作者信息
    今日开始带两个实习生做php(2)

    认证0级讲师

    推荐视频教程
  • 今日开始带两个实习生做php(2)javascript初级视频教程
  • 今日开始带两个实习生做php(2)jquery 基础视频教程
  • 视频教程分类