用户
 找回密码
 入住 CI 中国社区
搜索
查看: 5717|回复: 7
收起左侧

[Web] 关于FaceBook_clone

[复制链接]
发表于 2008-3-23 00:02:44 | 显示全部楼层 |阅读模式
下了facebook_clone..
测试未成功,主要是注册部分总出现 out of range ...school_year 估计是数据库编码问题
后台可以顺利添加用户(后台添加用户不涉及school_year这个字段)

运行不是最终目的,还是学习代码有用些
在这里逐步把阅读过程中的收获与疑惑与大家讨论下:

1,不知是否因为是破解文件的原因,文件头有一大幅的注释,这是俗称的“ansi”艺术吧?
 这个不重要,重要的是每个PHP文件后面都有一个换行,目前我所看到的所有控制器文件都有一句
PHP复制代码
 
  session_start();
复制代码

  如果你在index.php里error_reporting(E_ALL),肯定可以看到 cannot send header..这样的错误信息。
2,所有控制器都有这样的一个函数:
PHP复制代码
 
            function Intro()
                {
                        parent::Controller();
                }//end method
复制代码

    这个不是应该由控制器本身同名的函数来做的吗?事实上没有与本身同名的函数,也没有__contruct()函数。找了很久没找到原因,在函数体里加echo发现没有echo出来,注释掉这个函数,控制器还是能正常工作。难道这个函数是多余的?或者这个针对php4(我用的是php5)?百思不得其解。。。

3,大部分控制器都有这样一个函数:
    load_setting 或者 loadSetting 函数风格不一就不说了..
  比较不解的是这两个函数在很多文件中是一模一样的,这不大符合 DRY(don't repeat yourself) 吧?

4,只有一个Model:common
  以下函数属于Model?
PHP复制代码
    function validMonthDay($month,$day)
        {
            //echo $month;
            $valid    = true;
            if(strtoupper($month)=='02' and $day>28)
                $valid=false;
            if(strtoupper($month)=='04' and $day>30)
                $valid=false;
            if(strtoupper($month)=='06' and $day>30)
                $valid=false;
            if(strtoupper($month)=='09' and $day>30)
                $valid=false;
            if(strtoupper($month)=='11' and $day>30)
                $valid=false;
            return $valid;
        }//end validMonthDay()
复制代码


以下代码在Model文件common.php里不少见:
PHP复制代码
            $rsvpContent    =    '<form name="rsvp_form" id="rsvp_form"><table>
                                    <tr><td bgcolor="#6699CC">Your RSVP</td></tr>
                                    <tr><td>'
.$rsvpTitle.'</td></tr>
                                    <tr><td><input type="radio" name="'
.$rsvpId.'" id="'.$rsvpId.'" value="attending" '.$attCheck.'>Attending</td></tr>
                                    <tr><td><input type="radio" name="'
.$rsvpId.'" id="'.$rsvpId.'" value="notattending" '.$notAttCheck.'>Not Attending</td></tr>
                                    <tr><td><input type="radio" name="'
.$rsvpId.'" id="'.$rsvpId.'" value="maybeattending" '.$mayAttCheck.'>Maybe Attending</td></tr>
                                    <tr><td align="center">
                                        <input type="button" value="RSVP" >
                                        </td>
                                    </tr>
                                </table></form>'
;
 
//这到底是程序员还是美工呀...
   //sets the banckground of messae, due to read or unread messages
   if($rs->message_status=='read')
       $style ='style="background-color:#CCCCCC;"';
   else
      $style ='style="background-color:#999999;"';
 
复制代码

[ 本帖最后由 iptton 于 2008-3-23 01:09 编辑 ]
发表于 2008-3-23 00:08:02 | 显示全部楼层
我没有特别仔细的看过这个东西。

我感觉也许他对 CI 源代码进行了某些扩展和修改?
 楼主| 发表于 2008-3-23 00:10:32 | 显示全部楼层
嗯,有些怀疑是...
 楼主| 发表于 2008-3-23 00:20:26 | 显示全部楼层
1795-5=1790行一个函数,
全是
PHP复制代码
 
 if($_POST['action']=='xxxx'){
 
 }elseif($_POST['action']=='xxxx'){
 
 }elseif($_POST['action']=='xxxx'){
 
 }
 
复制代码



ajax控制器...这个函数是否太长了点。。。

[ 本帖最后由 iptton 于 2008-3-23 00:21 编辑 ]
发表于 2008-3-23 00:30:35 | 显示全部楼层
呵呵,每个人用 CI 的方式看来都不一样~~~
发表于 2008-3-26 05:02:11 | 显示全部楼层
分享一下,我的facebook调试成功,只有部分地方字符编码没有正确
发表于 2009-4-21 10:53:22 | 显示全部楼层
4# iptton

貌似是一个dispatch
发表于 2009-4-21 12:56:18 | 显示全部楼层
本帖最后由 jejwe 于 2009-4-21 13:44 编辑

下载的数据脚本 好像不全啊

本版积分规则