我一直想要建立自己的游戏社区网站(例如 http://fragbite.com)很长一段时间。我已经开了很多次但是几天后就退出了,因为它变得非常混乱。
我一直在玩PHP和MySQL 3年,但我从来没有进入过OOP。我试过,但我通常最终得到“旧PHP”。
我通常构建我的页面,以便在所有页面上包含一个文件,其中包含必要的函数,html头等等。我将php和html混合在一起,我不介意,但如果我最终会得到一个设计师他我想不会喜欢它。
我已经尝试了phpcake和codeigniter以及所有那些流行的mvc,但它太多了,就像他们完成所有的工作一样。我想自己做,但我不知道从哪里开始。
如果你是我,你会怎么做?可能有一些非oop mvc?
(抱歉我的英文)
答案 0 :(得分:2)
也许这不是你想要的答案,但我认为你应该更好地了解MVC和MVC的面向框架。
你谈到了一些;你也可以看看别人,比如:
我同意,有一些(至少有几天时间用于基础知识;周,我会说,要真正了解它们,并且使用它们很好)学习曲线,他们这样做为你工作很多......
......但他们做了很多工作可以让你专注于真正使你的应用程序; - )
我还要说两件事:
答案 1 :(得分:2)
为什么你想要完成所有工作?为什么不尝试在现有的和经过验证的技术上构建一些东西,例如Drupal或Community Server?
你甚至可以使用StackExchange引擎,虽然这不是免费的; - )
答案 2 :(得分:1)
嘿,我的朋友和我自2005年以来一直在为游戏玩家运营一个网站,而且我是大多数运行它的东西的“开发者”。我们使用PHP / MySQL,我从头开始开发所有东西。
从哪里开始很容易,只需要花时间思考你想要展示的概念。然后制作一个粗略的模板,说明实际的HTML / CSS页面设计应该是什么样的。
然后添加PHP编码和SQL查询等动态功能,但将表示(HTML)与逻辑(PHP / MySQL)分开 - 您可以使用INCLUDE或REQUIRE_ONCE语句进行购买。
我更喜欢在顶部执行所有逻辑,只在HTML中显示变量,例如一个典型的页面看起来像这样:
<?php
require_once('/system/standard.php'); // constants, functions, session etc.
require_once('/system/database.php'); // database functionality etc.
require_once('/system/authentication.php'); // security, logon etc.
// do some logic e.g. database queries or some calculations.
$data['username'] = 'Przystojny';
?>
<HTML>
...
Hello <?php print($data['username']); ?>
...
</HTML>
答案 3 :(得分:0)
我没有尝试建立游戏社区,但我确实构建了一些东西。我发现cakephp对我的口味来说太重了,所以我推出了一个纳米框架(类似web.py for python),我就更开心了。
以下是一些例子:
基本上,纳米框架由两个重要概念组成:
有些人会告诉你,自己不值得自己动手做所有的工作,但这真的是个人品味的问题。我认为滚动你自己更个性化,你比其他方式更了解内部运作。这也是一个非常有教育意义的经历,而且我都是关于教育的。但是..给每个人自己。
P.S。不太相关,但我也使用nginx和postgresql超过我通常选择的apache和mysql(我没有问题apache和mysql我只是觉得我尝试新的东西)。结果非常好。 :)
当然,他们需要做一些工作才能开始,但没有什么好事变得容易。
答案 4 :(得分:0)
我建议您编写一个轻量级模板系统或使用PHPClasses中的一个来处理生成页面的工作。这个你可以有模块创建内容,只是'插入'到相关的占位符。 Smarty模板引擎可能值得一看。
它的样子:
<html>
<header>
<title><!-- title_placeholder --></title>
<script><!-- scripts_placeholder --></script>
</header>
<body>
<div id='leftbar'>
<!-- placeholder_1 -->
<!-- placeholder_2 -->
</div>
<div id='main'>
<!-- main_content -->
</div>
</body>
PHP非常简单:
$loginSideBarModule = new LoginModule();
$template->replaceTag("placeholder_1", $loginSideBarModule->render());
如果Smarty对你来说太重,PHPClasses上有很多模板系统。