استفاده بدین شکل از شی گرایی درسته ؟

plague

Member
سلام
من چند تا کلاس دارم که معمولا کارشون اینه که دیتا رو از دیتابیس میخونن و ریزولت رو برمیگردونن یا حالا یه تغییراتی بوجود میارن

مثلا :
PHP:
class public { 

public function all($tbl){

$sql="SELECT * FROM $table ";
$result_set = $db->query( $sql );
return $result ;
}



public function like($val){


$sql="SELECT * FROM table WHERE col LIKE '%$val%'";
$result_set = $db->query( $sql );
return $result;
}

}
------------------------------

<?php

$public = new bublic;
$result=$public->all();

while(mysql_fetch_assoc($result){

}

?>
میشه گفت حالت فانکشن گونه داره و دیتا ممبری در کار نیست که مقادیر بازگشتی از دیتابیس رو بریزم توشون و به شکل خلاصه از شی گرایی به شکل کامل استفاده نمیشه

میخاستم ببینم این شکل استفاده ایرادی نداره ؟
حداقل من از این شکل استفاده بیشتر از فانکشن خوشم میاد و اگه ایرادی نداره مثلا کند تر نمیکنه ترجیح میدم همین رویه رو ادامه بدم ؟ بهتر نیست توابع رو به استاتیک تغییر بدم ؟
 
آخرین ویرایش:

Domanjiri

Well-Known Member
سلام

اول اینکه، چیزی غلط نیست ( صرف نظر از غلط های تایپی شما توی کد:green:) و از لحاظ سرعت اجرا هم خیالتون راحت، مواردی که سرعت اجرای کد رو محدود می کنن موارد مشخصی هستند مثل باگ های منطقی و معماری بد کد و.. که این چند خط کد تقریبا تاثیری برابر صفر داره.

دوم اینکه شما مختارید هر جور که دلتون می خواد برنامتونو بنویسید (اینو گفتم که پایینی رو بگم)

ببینید شما الان دقیقا استفاده ای از مفهوم کلاس و آبجکت و شی نکردین و در واقع کدتون رو Scope بندی کردین که صد البته برای خوانایی کد مفیده(البته اگه یه فایل چند هزار خطه داشته باشیم). شما اومدین چنتا تابع که میتونستن به طور آزاد(!) تعریف بشن رو گذاشتید داخل یه کلاس ..در کد شما هیچ تفاوتی نمی کنه که متد ها رو استاتیک تعریف کنید یا همینطوری که الان هست.

به نظر من با تعریف Constructor و Destructor یکم بیشتر از امکاناتی که شی گرایی در اختیارتون قرار میده استفاده کنید.

من نمی دونم که این کد، بخشی از (احتمالن) یک پروژه هست یا نه. اگه که هست پیشنهاد می کنم با تعریف چند متد خصوصی بحث امنیت رو هم پیاده کنید...

موفق و پیروز باشید
 

جدیدترین ارسال ها

بالا