【发布时间】:2013-05-14 19:58:05
【问题描述】:
我想制作自己的 php 工具包,而不是使用现有的众多框架之一,特别是因为它们遵循 MVC,这不是我现在要寻找的。我想从基础开始,考虑到 OO,我想要一个简单的 php mysql 连接在一个单独的文件(config.php)中,查询在另一个文件(index.php)
我试过这个,但它不起作用。我做错了什么?
根目录下的config.php
<?php
$dsn = 'mysql:dbname=testdb;host=localhost';
$username = 'root';
$password = 'root';
$dbh = new PDO($dsn, $username, $password);
?>
根目录下的index.php
<html>
<body>
<form action="" method="POST">
<input type="text" name="search" autofocus />
<input type="submit" value="search" />
</form>
</body>
</html>
<?php
require_once 'config.php';
$query = "SELECT * FROM table WHERE field = '" . $search . "'";
$results = mysql_query($query);
while($row = mysql_fetch_array($results)){ ?>
<li>
<?php echo $row['field']; ?>
</li>
<?php } ?>
更新:请耐心等待,我对此的了解是新的。谢谢。
【问题讨论】:
-
在尝试构建自己的框架之前,也许您应该花一些时间来熟悉现有框架以及它们的工作原理?
-
如果您对“框架部分”感兴趣,请考虑查看 Zend Framework 和 Symfony2。 ZF 是一个组件框架,这意味着您可以随心所欲地使用。 Symfony2 是全栈的,这意味着大多数人按原样使用它,但它包含许多可以像 ZF 一样独立使用的组件。如果您将此作为学习练习,那么就足够公平了,但如果是为了生产,您应该真的使用现有系统。
-
我是反过来看的。我想学习从头开始构建自己的框架,以了解和理解其他框架是如何工作的。那和逐渐学习php。你认为按照你的建议做会更好吗?我认为学习手动变速箱将是自动变速箱之前的第一步。
-
是的,我认为学习现有框架对我来说是向前迈出的一大步。 symfony 1 在这方面非常有帮助,尽管 Symfony2 在架构上结构更好。学习一个领先的框架——它是一种可转移的技能——然后如果你愿意,就去做。