بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
آیا این ساختار برای وب سرویس درست است ؟ (مهم)
سلام دوستان
من با دیدن آموزش های استاد و بررسی پست های مربوط به فارسی نویسی و مطالعه چندتا سایت ازجمله این به یک ساختاری برای وب سرویس رسیدم لطفا راهنماییم کنید این ساختار درسته؟
اول فایل Config.php برای کانفیگ کردن دیتابیس
<?php
/*************** Database config variables ***************/
define("DB_HOST", "localhost");
define("DB_USER", "root");
define("DB_PASSWORD", "");
define("DB_DATABASE", "my_db");
/*********************************************************/
?>
فایل DbConnect.php برای مدیریت کانکشن
<?php
header('Content-Type: text/html; charset=utf-8');
class DbConnect {
// constructor
function __construct() {}
// destructor
function __destruct() {}
/*************** Connection ***************/
function connectToDatabase(){
require_once 'Config.php';
$connection = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_DATABASE);
if($connection){
mysqli_query($connection,"SET NAMES 'utf8'");
mysqli_set_charset($connection,"UTF8");
}else{
echo mysqli_error($connection);
}
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
return $connection;
}
/******************************************/
}
?>
فایل PeopleFunctions.php برای ذخیره توابع مورد نیاز برای کار با پایگاه داده (مثلا اینجا فقط insert را گفتم)
<?php
header('Content-Type: text/html; charset=utf-8');
class PeopleFunctions {
private $connection;
// constructor
function __construct() {
require_once 'DbConnect.php';
// connecting to database
$this->connection = new DbConnect();
}
// destructor
function __destruct() {
}
/******************* add new row and return details *******************/
public function addPeople($name,
$family) {
$this->connection->connectToDatabase();
$result = mysqli_query($this->connection,"INSERT INTO people(people_name,
people_family) VALUES('$name',$family')");
// check for successful store
if ($result) {
// get people details
$pid = mysql_insert_id(); // last inserted id
$result = mysqli_query($this->connection,"SELECT * FROM people WHERE people_id = $pid");
mysqli_close($this->connection);
// return people details
return mysql_fetch_array($result);
} else {
mysqli_close($this->connection);
return false;
}
}
/***********************************************************************/
}
فایل index.php برای مدیریت requestهایی که از سمت برنامه فرستاده میشه.
<?php
header('Content-Type: text/html; charset=utf-8');
/*************** Read Url ****************/
if (isset($_REQUEST['action'])){
$action = $_REQUEST['action'];
} else {
echo "Invalid Data";
exit;
}
require_once 'PeopleFunctions.php';
$func = new PeopleFunctions();
if ($action=="addPeople"){
$name = $_REQUEST['name'];
$family = $_REQUEST['family'];
$func->addPeople($name,$family);
}
/******************************************/
?>
لطفا هرجای کد اشتباهه بهم بگید. و یه سوال مهم اینکه آیا این ساختار کلاسی برای php درسته ؟ ( لازم به ذکر هست توی لینکی که در بالا معرفی کردم کدش کاملا کار میکنه و جواب میده)
0
0
به روشهای مختلفی میشه وب سرویس ساخت. یک نمونه هم در آموزشها آمده ، مشاهده کردید ؟ در ضمن به جای request از post استفاده کنید بهتره. (12 سال پیش)
0
0
آموزش ها را کامل دیدم میخوام بدونم این روشی که نوشتم درسته؟ کم و زیاد نداره! (12 سال پیش)
+1
0
روش شما هم خوب است و در واقع راه های رسیدن به خدا بسیار است :) . اما دقت داشته باشید که همه اطلاعات را از mysql_fetch_array خارج نکنید و فیلدهای خاصی را به بیرون بفرستید، چون هم نیاز نیست و هم باعث بیشتر شدن bandwidth مصرفی می شود. (12 سال پیش)
0
0
ممنون استاد. پس در نهایت اون اطلاعاتی که نیاز هست را بجای ;(return mysql_fetch_array($result با روشی که گفتید درون یک آرایه بریزم و JSON خروجی را echo کنم؟ (12 سال پیش)
+1
0
بله درسته. (12 سال پیش)
برای این سوال پاسخی وجود ندارد.
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .