仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 810|回复: 19
打印 上一主题 下一主题

[学习教程] PHP网页编程之PHP实例:完成超等复杂的MVC布局

[复制链接]
变相怪杰 该用户已被删除
跳转到指定楼层
#
发表于 2015-2-3 23:51:24 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
不懂的问题有很多高手帮你解决。但不要认为你是新手,就不能帮助别人,比如今天你学会了怎样安装PHP,明天还可能有朋友会问这个问题,你就可以给他解答,不要认为这是浪费时间,忙别人其实就是帮助自己。上面是一个超等复杂的MVC布局完成,乃至连数据源都用了一个内置的固定命组,固然复杂,但其实浩瀚的PHP Framework中心完成的思惟应当和这个是差不多的   只不外一些framework供应了更多的便利开辟者利用的东西,我也想本人来完成一个PHP的 框架,今朝正在着手筹划中,也但愿本人可以从框架的开辟中进修到更多的PHP设计思惟和办法。
Controller.php
include 'Model.php';
include 'View.php';
class Controller {
     private $model     = '';
     private $view     = '';
     
     public function Controller(){
         $this->model    =    new Model();
         $this->view        =    new View();
     }
     
     public function doAction( $method = 'defaultMethod', $params = array() ){
         if( empty($method) ){
             $this->defaultMethod();
         }else if( method_exists($this, $method) ){
             call_user_func(array($this, $method), $params);
         }else{
             $this->nonexisting_method();
         }
     }
     
     public function link_page($name = ''){
         $links = $this->model->getLinks();
         $this->view->display($links);
         
         $result = $this->model->getResult($name);
         $this->view->display($result);
     }
     
     public function defaultMethod(){
         $this->br();
         echo "This is the default method. ";
     }
     
     public function nonexisting_method(){
         $this->br();
         echo "This is the noexisting method. ";
     }
     
     public function br(){
         echo "<br />";
     }
}

$controller = new Controller();
$controller->doAction('link_page', 'b');
$controller->doAction();

Model.php

Code
class Model {
     private $database = array(
         "a"    =>    "hello world",
         "b"    =>    "ok well done",
         "c"    =>    "good bye",
     );
     
     //@TODO connect the database
     
     //run the query and get the result
     public function getResult($name){
         if( empty($name) ){
             return FALSE;
         }
         
         if( in_array($name, array_keys( $this->database ) ) ){
             return $this->database[$name];
         }
     }
     public function getLinks(){
         $links = "<a href='#'>Link A</a>  ";
         $links.= "<a href='#'>Link B</a>  ";
         $links.= "<a href='#'>Link C</a>  ";
         
         return $links;
     }
}
View.php

class View {
     
     public function display($output){
//        ob_start();
         
         echo $output;
     }
     
}
基础这个东西是个比较笼统的概念,如果你之前学习过c语言, c语言被认为是
精灵巫婆 该用户已被删除
19#
发表于 2015-4-25 06:51:19 | 只看该作者
这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己
爱飞 该用户已被删除
18#
发表于 2015-4-21 21:45:48 | 只看该作者
先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。
只想知道 该用户已被删除
17#
发表于 2015-4-16 23:13:50 | 只看该作者
php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。
若相依 该用户已被删除
16#
发表于 2015-4-16 09:29:40 | 只看该作者
php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。
飘飘悠悠 该用户已被删除
15#
发表于 2015-4-15 01:28:28 | 只看该作者
这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己
金色的骷髅 该用户已被删除
14#
发表于 2015-4-12 19:19:46 | 只看该作者
其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。
活着的死人 该用户已被删除
13#
发表于 2015-4-12 04:53:10 | 只看该作者
实践是检验自己会不会的真理。
若天明 该用户已被删除
12#
发表于 2015-4-8 18:56:35 | 只看该作者
使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。
海妖 该用户已被删除
11#
发表于 2015-3-31 05:19:21 | 只看该作者
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
老尸 该用户已被删除
10#
发表于 2015-3-25 12:30:45 | 只看该作者
爱上php,他也会爱上你。
谁可相欹 该用户已被删除
9#
发表于 2015-3-20 06:45:47 | 只看该作者
最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。
柔情似水 该用户已被删除
8#
发表于 2015-3-15 21:14:43 | 只看该作者
本文当是我的笔记啦,遇到的问题随时填充
再见西城 该用户已被删除
7#
发表于 2015-3-8 09:52:22 | 只看该作者
我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。
再现理想 该用户已被删除
6#
发表于 2015-3-6 11:30:29 | 只看该作者
真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,
小妖女 该用户已被删除
5#
发表于 2015-2-26 15:01:17 | 只看该作者
其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎
飘灵儿 该用户已被删除
地板
发表于 2015-2-8 12:24:32 | 只看该作者
实践是检验自己会不会的真理。
简单生活 该用户已被删除
板凳
发表于 2015-2-7 11:34:45 | 只看该作者
学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。
愤怒的大鸟 该用户已被删除
沙发
发表于 2015-2-5 11:49:52 | 只看该作者
刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。
小魔女 该用户已被删除
楼主
发表于 2015-2-4 06:30:05 | 只看该作者
先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-24 01:31

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表