symfony03_1:探索symfony代码

第一眼看到symfony的代码结构会让人感到担心,他有非常多的目录和脚本组成,并且文件由PHP类、HTML以及PHPHTML的混合代码组成。但一旦你了解了背后的秘密,你就会感觉symfony的这种结构非常的自然。

MVC模式

Symfony基于传统的MVC架构,MVC包括三层

  • 模型(Model)表述应用操作的信息
  • 视图(View)将模型转换为适合用户交互的网页形式
  • 控制(Controller)响应用户动作并适时调用模型或者视图的变动

MVC模式图


MVC分层

为了帮助理解MVC的好处,让我们来看看如何将一个PHP应用程序转换到MVC架构。

单层程序(不分层)

在单层PHP文件,显示数据库数据可能像下面的代码所写:

<?php

 

// Connecting, selecting database

$link = mysql_connect('localhost', 'myuser', 'mypassword');

mysql_select_db('blog_db', $link);

 

// Performing SQL query

$result = mysql_query('SELECT date, title FROM post', $link);

 

?>

 

<html>

  <head>

    <title>List of Posts</title>

  </head>

  <body>

   <h1>List of Posts</h1>

   <table>

     <tr><th>Date</th><th>Title</th></tr>

<?php

// Printing results in HTML

while ($row = mysql_fetch_array($result, MYSQL_ASSOC))

{

echo "/t<tr>/n";

printf("/t/t<td> %s </td>/n", $row['date']);

printf("/t/t<td> %s </td>/n", $row['title']);

echo "/t</tr>/n";

}

?>

    </table>

  </body>

</html>

 

<?php

 

// Closing connection

mysql_close($link);

 

?>


   
   
    
     
   
   

这能快速编写,快速执行但却难以维护,下面是代码的几个主要问题:

l         没有错误检测(数据库连接失败会怎样?)

l         HTMLPHP代码混杂在一起

l         代码完全绑定到了MYSQL数据库

 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值