变相怪杰 发表于 2015-2-3 23:51:24

PHP网页编程之PHP实例:完成超等复杂的MVC布局

不懂的问题有很多高手帮你解决。但不要认为你是新手,就不能帮助别人,比如今天你学会了怎样安装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语言被认为是

小魔女 发表于 2015-2-4 06:30:05

先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。

愤怒的大鸟 发表于 2015-2-5 11:49:52

刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。

简单生活 发表于 2015-2-7 11:34:45

学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。

飘灵儿 发表于 2015-2-8 12:24:32

实践是检验自己会不会的真理。

小妖女 发表于 2015-2-26 15:01:17

其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎

再现理想 发表于 2015-3-6 11:30:29

真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,

再见西城 发表于 2015-3-8 09:52:22

我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。

柔情似水 发表于 2015-3-15 21:14:43

本文当是我的笔记啦,遇到的问题随时填充

谁可相欹 发表于 2015-3-20 06:45:47

最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。

老尸 发表于 2015-3-25 12:30:45

爱上php,他也会爱上你。

海妖 发表于 2015-3-31 05:19:21

你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。

若天明 发表于 2015-4-8 18:56:35

使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。

活着的死人 发表于 2015-4-12 04:53:10

实践是检验自己会不会的真理。

金色的骷髅 发表于 2015-4-12 19:19:46

其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。

飘飘悠悠 发表于 2015-4-15 01:28:28

这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己

若相依 发表于 2015-4-16 09:29:40

php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。

只想知道 发表于 2015-4-16 23:13:50

php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。

爱飞 发表于 2015-4-21 21:45:48

先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。

精灵巫婆 发表于 2015-4-25 06:51:19

这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己
页: [1]
查看完整版本: PHP网页编程之PHP实例:完成超等复杂的MVC布局