以前学过.net与java 目前自己看了看PHP 发现PHP较之前两个 好像封装的很不好,感觉好像ASP看了看PHP说明 上面说PHP也有面向对象的设计模式 MVC 等等框架。下面是这几天看PHP 中一些不懂得问题 希望高手解答疑惑!感激不尽1.PHP中有无类似List<T> 中泛型 数组的东西?我定义了一个Model(UserInfo)
当我查询数据库所有的Userinfo结果集的时候 我该怎么获得 然后再也没显示呢?2.PHP 中如何实现 WEB与PHP代码的分离?
例如java中的servlet与jsp页面那样?
当我查询数据库所有的Userinfo结果集的时候 我该怎么获得 然后再也没显示呢?2.PHP 中如何实现 WEB与PHP代码的分离?
例如java中的servlet与jsp页面那样?
$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就应该足够简单,足够敏捷,框架是个人习惯,想用也很简单,可以说太简单。
2: 实例化后调用类方法即可。
3:smarty/自定义模板
$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. 模板. 参加楼上们的回答