Muhtemelen sadece onlara işlevlerini yapma, sınıflar yerine onları sarma daha iyi olurdu. O kendi php dosyasının içine sonuncusu dışında hepsi, ayıklayın. Sen $user adlı ekran adını çıkarmak unuttum
// myFunctions.php
<?php
function connectDb() {
mysql_connect('localhost', 'root', 'admin');
mysql_select_db('test');
}
function closeDb() {
mysql_close();
}
function displayName() {
$sql = 'select first_name, last_name, display_name from users where user_id = "3"';
$results = mysql_query($sql);
$user = mysql_fetch_array($results);
return $user['display_name'];
}
function insertFirstName($name) {
mysql_query("INSERT INTO Persons (first_name)VALUES ('" . $name . "')");
}
?>
// index.php
<?php
require_once 'myFunctions.php';
connectDb();
echo "User known as: " . displayName() . "\n";
insertFirstName("Peter");
closeDb();
?>
Ama sınıfları kullanmakta ısrar ederseniz:
// User.php
<?php
class User {
private function connectDb() {
mysql_connect('localhost', 'root', 'admin');
mysql_select_db('test');
}
private function closeDb() {
mysql_close();
}
function displayName() {
$this->connectDB();
$sql = 'select first_name, last_name, display_name from users where user_id = "3"';
$results = mysql_query($sql);
$user = mysql_fetch_array($results);
$this->closeDB();
return $user['display_name'];
}
function insertFirstName($name) {
$this->connectDB();
mysql_query("INSERT INTO Persons (first_name)VALUES ('" . $name . "')");
$this->closeDB();
}
}
?>
// index.php
<?php
require_once 'User.php';
$user = new User;
echo "User known as: " . $user->displayName() . "\n";
$user->insertFirstName("Peter");
?>
Aslında kötü değil. db bağlantısı ve yakın dışarı soyutlanmış.