2010-03-31 38 views
2

我正在为用户创建一种海量网络来注册和登录。我想尝试使用类,但我从来没有使用它们(期望一些mysql-wrappers等)。你能否为我的项目提供一些提示和样本结构?关于网站良好的课堂结构的提示? (php)

想法是简单地有一个index.php,它打印整个页面并执行所有操作。 Index.php从其他文件中的类调用函数。

我需要:

  • 用户级检查如果登录和检索用户信息
  • 别样的“页” - 班在这些网页

我需要的功能我没有要求完整的代码,而只是一个开始。我不知道,如何使用public function或类似的东西。如何包装这些类来一起工作?所以没有功能,只是结构!

Martti Laine

+0

你能解释一下你不使用Cake,Zend等框架的理由吗? – user187291 2010-03-31 16:23:37

+0

我不知道框架是否符合我的需求。自己创造一切总是更好。 – 2010-03-31 16:25:42

+0

不,不是。这更容易出错,特别是如果你没有经验。如果你使用框架,你有一个坚实的基础。尤其是如果你想创建一个“庞大的”高效应用程序。 – 2010-03-31 16:32:59

回答

2

那么在第一部分中,我给你上使用索引的一切暗示。我使用switch语句简单地调用了一切,就像这样:

<?php 


switch($_REQUEST['mode']){ 

    case 'create': 
     $ourhtml = $object->do_create(); 
    break; 

    case 'read': 
     $ourhtml = $object->do_read(); 
    break; 

    case 'update': 
     $ourhtml = $object->do_update(); 
    break; 

    case 'delete': 
     $ourhtml = $object->do_delete(); 
    break; 

    default: 

    $ourhtml = "<form action=\"index.php\" method=\"get\"> 
    <input type=\"text\" name=\"name\"> 
    <input type=\"hidden\" name=\"mode\" value=\"create\"> 
    <input type=\"submit\" value=\"create new\"> 
    </form>"; 

    <?php 

    break; 

    } 

    echo $ourhtml; 

?> 

此代码由本身并没有什么,但它给你的,你怎么可以在许多不同的“网页”只用指数之间切换的总体思路。添加一个新页面就像在switch语句中添加另一个案例一样简单。

就结构而言,我真的会建议你阅读MVC。起初看起来很复杂,但一旦掌握了它,它将为您节省大量时间和麻烦。这里有一些很好的读取就可以了:

http://nemetral.net/2008/07/31/a-gentle-introduction-to-mvc-part-1/

http://www.phpro.org/tutorials/Model-View-Controller-MVC.html

此外,对于一般类结构,没有什么比它php.net的解释:

Classes and Objects

我希望这帮助。

+0

谢谢,但我听说整个网站只使用一个班级并不好。这是真的? – 2010-03-31 16:28:02

+0

从这些链接中学到了很多,谢谢! – 2010-03-31 17:07:45

+0

您不希望为整个网站使用单个类,我的代码仅用于说明目的。通常我的索引文件与一个控制器对象交互,但是有很多类。 – 2010-03-31 21:52:47

3
  1. 阅读关于Object Oriented Programming的一般信息。
  2. 阅读手册约OOP in PHP

你真的应该让你的头左右OOP。
然后阅读一些常用于Web应用程序的设计模式,例如

看一看,甚至使用Zend Framework或任何其他framework。如果您查看其他源代码,您可以学到最多。但为了理解代码,你必须了解OOP。


如果它不是学习的目的,我不会从头开始编写这样的应用程序。
使用一个已经实现了典型模式和工具来帮助你的框架(特别是因为你不习惯OOP,但是你必须学习OOP)。

+0

是的,这个想法是获得一些类的经验。这就是我试图自己创造它的原因。 – 2010-03-31 16:30:00

+0

@Martti Laine:阅读框架源代码还是不错的。 – 2010-03-31 16:33:37

+0

这可能是对的。我会检查他们。 – 2010-03-31 16:40:20