我正在尝试从程序切换到 OOP php,我可以连接到数据库并在程序中很好地使用它,但是经过几个小时的挠头、谷歌搜索和一些小的调整/更改后,我承认失败并得出结论,我一定错过了一些东西.
我有两个文件,我的 IDE 标记语法问题显然与第一个文件(test.php)的“函数”部分有关,但我就是不知道是什么,有没有人有任何想法?这两个文件在下面。抱歉格式化,但由于某种原因,我无法在此文本区域中进行选项卡。
我假设它与缺乏构造函数有关。我试图添加一个而不是配置函数,但我仍然有语法问题。在文档/教程中,我可以找到 php 中的构造函数和 html 中的函数,但似乎没有任何内容可以解释它们如何与示例一起工作。
免责声明:这两个文件都被标签包围<?php ?>
,我目前没有解决安全措施。在你可以跑步之前先走路等等。我还尝试在 test.php 的开头抛出一个 doctype 并在适当的地方用标签填充它,<html>
<head>
但<body>
无济于事。使用 Apache 2.2.22 和 PHP 5.3.13。
// ------- Test.php start -------
include 'obj_lib.php';
$db = new database;
$db = function config('test', 'root', '', 'localhost');
$db = function connect();
$db = function test_database();
// ------- Test.php end -------
// ------- obj_lib.php start -------
class database
{
private $username;
private $password;
private $database;
private $server;
private $db_handle;
private $db_found;
public function config($indatabase=null, $inusername=null, $inpassword=null, $inserver=null)
{
$this->username = $inusername;
$this->password = $inpassword;
$this->database = $indatabase;
$this->server = $inserver;
}
public function connect()
{
$this->db_handle = mysql_connect($this->server, $this->username, $this->password);
$this->db_found = mysql_select_db($this->database, $this->db_handle);
}
public function test_database()
{
echo "$this->username"."$this->password"."$this->database"."$this->server"."$this->db_handle"."$this->db_found";
}
}
// ------- obj_lib.php end -------