日期:2014-05-17  浏览次数:20642 次

PHP新手疑惑
以前学过.net与java 

目前自己看了看PHP 发现PHP较之前两个 好像封装的很不好,感觉好像ASP

看了看PHP说明 上面说PHP也有面向对象的设计模式 MVC 等等框架。

下面是这几天看PHP 中一些不懂得问题 希望高手解答疑惑!感激不尽

1.PHP中有无类似List<T> 中泛型 数组的东西?

我定义了一个Model(UserInfo) 
当我查询数据库所有的Userinfo结果集的时候 我该怎么获得 然后再也没显示呢?

2.PHP 中如何实现 WEB与PHP代码的分离?
例如java中的servlet与jsp页面那样?

------解决方案--------------------
1,
$m = M('UserInfo');
$list = $m->select();
/*
$this->assign(...$list);
$this->display;
*/
print_r($list);

2,模板替换,就是1中的assign,其实就是将$list变量替换到预先写好的模板文件中的对应位置, 这个模板一般和当前控制器同名, 在Tpl目录下。


MVC... 你非要像JAVA那样的MVC, 在PHP里真心没必要, 在PHP里个人感觉MVC更多的是编程设计的概念, 框架非常多, 都是爱好者写的, 不就是分层么, 谁都会, 只是何必去照某个框架规矩办事呢, PHP就应该足够简单,足够敏捷,框架是个人习惯,想用也很简单,可以说太简单。

------解决方案--------------------
1: 有数组
2: 实例化后调用类方法即可。
3:smarty/自定义模板
------解决方案--------------------
回答的太精辟了
探讨

1: 有数组
2: 实例化后调用类方法即可。
3:smarty/自定义模板

------解决方案--------------------
PHP手册
PHP code

#1:
$result = mysql_query("SELECT id, name, salary FROM employees",$conn);
while (list($id, $name, $salary) = mysql_fetch_row($result)) {
    echo " <tr>\n".
         "  <td><a href=\"info.php?id=$id\">$name</a></td>\n".
         "  <td>$salary</td>\n".
         " </tr>\n";
}
#不过一般将其循环的结果集放入数组,然后再页面调用,便于读懂代码,这就涉及到第二个问题:
#php code:
$result = mysql_query("SELECT id, name, salary FROM employees",$conn);
$arr = array();
while ($rows = mysql_fetch_array($result,MYSQL_ASSOC)) {
     array_push($arr,$rows);
}

#html code:
<?php 
  if(!empty($arr)){
    foreach($arr as $array){
?>
<table>
  <tr>
    <td>ID</td><td><?=$array['id']?></td><!--此处为php的短标记-->
  </tr>
  <tr>
    <td>Name</td><td><?=$array['name']?></td>
  </tr>
</table>
<?php
    }//end for
  }
?>

------解决方案--------------------
上面的同学们都已经从不同角度回答了一些,
我再说两句,

0. php的确不如.net/java封装得好. 因为php是一个渐变的语言, 从过程逐渐发展到OO, 它同时也是一个合作开发的开源语言, 不同的作者会带给它不同风格的东西,同时因为流行的程度,兼容也很重要. 无法像.net那样彻底抛开asp. 

1. php有array,可以当list使用,spl里也提供了其它一些容器. 
但是php里不会有泛型的概念,因为php是动态类型

2. 模板. 参加楼上们的回答



探讨
以前学过.net与java

目前自己看了看PHP 发现PHP较之前两个 好像封装的很不好,感觉好像ASP

看了看PHP说明 上面说PHP也有面向对象的设计模式 MVC 等等框架。

下面是这几天看PHP 中一些不懂得问题 希望高手解答疑惑!感激不尽

1.PHP中有无类似List<T> 中泛型 数组的东西?

我定义了一个Model(UserInfo)
当我查询数据库……