• 1 رای - 5 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
کلاس PDO راسپینا
#1
یکی از معایب این پروژه اینه که هدفمون به درستی مشخص نیست.
چه کاری و در چه حدی قراره انجام بگیره.

مشکل بزرگی نیست منتها کارمون رو کمی دشوار کرده.
این مشکلات هنگام اصلاح کلاس PDO خودش رو نشون داد.

چه توابعی لازم داریم؟

تا الان یه سری توابع رو برای اعمال خاصی اماده کردم. اما معلوم نیست که ایا در اینده بسته به نیازمون احتیاج به توابع دیگری داریم یا نه.

به همین دلیل بهتره در حال حاضر فعلا روی PDO این اصلاحات رو انجام بدیم و در پایان پروژه کلاس های دیگر پایگاه داده رو پیاده کنیم.
مثلا کلاس mySql برای هاست هایی که PDO رو غیر فعال کردن و ... .

در نتیجه بحث و گفتگو در مورد این کلاس(PDO) مربوط به تمام کلاس های مشابهی میشه که در اینده قراره امادشون کنیم.

لطفا نظر/انتقاد و پیشنهادتون رو در مورد این کلاس بیان کنید.

پیشنهادات فعلی من:
توابعی مثل insert و update هنوز کامل نشدن!
کد پی‌اچ‌پی:
function insert($table=ACTION,$data

ارایه انجمنی data رو ما نباید تعریف و مقدار دهی کنیم. اما از اونجایی که هنوز تکلیف کلاس/توابع validate و model.php مشخص نشده فعلا به این صورت تعریف شدن.
هدف اینه هنگام کار درون کنترلرها حداقل از کدی شبیه به این برای افزودن رکورد استفاده کنیم
کد پی‌اچ‌پی:
$this->controller->insert(); 

تکلیف تابع where فعلا مشخص نیست! من نمیدونم چه کارش کنم. در حال حاضر خوبه؟

به توابعی برای جوین کردن نیاز داریم.
هر چیزی که در جستن آنی آنی...
غایب
  پاسخ
تشکر شده توسط :
#2
احسان pdo رو بیخیال ، نمیشه مستقیم sql بنویسیم ؟
اینجوری بهتر نیست؟
یه query بذار .
یه fetch بذار و ...

میخوای کلاس ezSQL رو بدم یه نگاهی کنی ، کش فایل کوئری ها رو هم داره ، البته خودم یه اصلاحی کردم .
وبلاگ rezaonline.net/blog
سفارش برنامه نویسی reza.biz
Php , mysql , postgresql , redis , Yii and ... Cool
  پاسخ
تشکر شده توسط : Y.P.Y
#3
منم با رضا موافقم.
statement و where این داستانارو فعلاً توش نیاریم. تا شَر و برنامه ریزی کمتر بشه.

فعلاً یه کلاس ساده mysql بنویسیم و بعضی چیزاشو خودمون شبیه سازی کنیم
بعداً از sql میکاهیم و ردیفش می کنیم
وبلاگ: Yousha.Blog.ir


 کد کمتر => خطای کمتر => قابل فهمتر => خوانایی بالاتر => نگهداری بهتر

  پاسخ
تشکر شده توسط :
#4
نقل قول:فعلاً یه کلاس ساده mysql بنویسیم و بعضی چیزاشو خودمون شبیه سازی کنیم

به این دلیل که تبدیل کلاس PDO به سایر کلاس های دیتابیس مثل mysql اسون تره این کارو کردم. تجربه شخصیه Cool

یعنی یه جورایی کار دو سوته!
هر چیزی که در جستن آنی آنی...
غایب
  پاسخ
تشکر شده توسط :
#5
پس اینهمه من شر خریدم دارم یه کتابخونه Db دارم پیاده می کنم چی؟
حواستون به منم باشه.
  پاسخ
تشکر شده توسط : Reza
#6
بله با تشکر از همسایمون که گفت این کتابخونه رو توی اینجا بذار
Tongue

خب این چیه من همش زور میزنم و برچسب اصلاح بهش زدم؟
عرض میکنم .

بصورت پیشفرض این کلاس جیگولی میاد دستور sql رو یه md5 میگیره توی پوشه کش یه فایلش میکنه و نتیجه رو مینویسه تا در درخواست های بعدی به جای اجرای دستور از روی اون فایل میخونه .

من اومدم چیکار کردم اومدم دسته بندی کردم کش رو ، یعنی میتونیم پوشه هایی هم اضافه کنیم که کش های مثل هم رو اونجا بریزیم تا در صورت آپدیت اون جداول اون کش ها رو راحتتر حذف کنیم.

خب یه مثال میزنم .
فرض کنید ما تمامی دسته بندی رو میگیریم کش میکنیم .
بعد توی مطالب هم دسته بندی رو باز میگیرم و چند جای دیگه
این کش ها رو توی پوشه مثلاً category میریزیم .
هر وقت تغییر در جدول دسته ها دادیم این پوشه رو پاک میکنیم .

میدونم متوجه نشدید اینو بخونید شاید فرجی شد
کد پی‌اچ‌پی:
    $db->cache_start('category');

    
$db->get_results("select * from cat");
        
$db->debug();

    
$db->cache_stop(); 


فایل‌های پیوست
.zip   ezsql with reza cache.zip (اندازه 25 KB / تعداد دانلود: 7)
وبلاگ rezaonline.net/blog
سفارش برنامه نویسی reza.biz
Php , mysql , postgresql , redis , Yii and ... Cool
  پاسخ
تشکر شده توسط :
#7
نقل قول:حواستون به منم باشه.

پوشه db رو واسه تو خالی گذاشتم دیگه.
این کلاسم میره تو بخش لحجه هات اگه اشتباه نکنم.

از اونجایی که طرحت تصویب شده اگر جایی دیدی داریم اشتباه کار میکنم حتما بگو. Wink
هر چیزی که در جستن آنی آنی...
غایب
  پاسخ
تشکر شده توسط : oia
#8
اینجوری فکر کنم داره قاطی پاتی میشه. توی پوشه Platform یه چند تا کلاس خیلی ساده میاد. قرار هم نیست کلاسی مثلا به اسم Pdo اونجا بیاد. کلاس هایی مثلا Pdo_Mysql باید توی Adapter بیان.
در ضمن statement اجباریه. خواهش می کنم ازش استفاده کنید. اینقدر به صورت ۱۰ سال پیش کد نزنید. آخه چیزی هم نداره. کار رو راحتتر کرده.. خوانایی کدتون بالاتر میره. امنیت میره بالاتر و ... . چون خودتون هنوز استفاده نمی کنید نذارید داخل این پروژه هم استفاده نشه
  پاسخ
تشکر شده توسط : undefined
#9
نقل قول:در ضمن statement اجباریه.

این قسمتش با محمد امینه Big Grin.
من الان یادم افتاد از namespace استفاده نکردم! که باید این کلاس دوباره اصلاح شه.
هر چیزی که در جستن آنی آنی...
غایب
  پاسخ
تشکر شده توسط :
#10
نقل قول:در ضمن statement اجباریه. خواهش می کنم ازش استفاده کنید. اینقدر به صورت ۱۰ سال پیش کد نزنید. آخه چیزی هم نداره. کار رو راحتتر کرده.. خوانایی کدتون بالاتر میره. امنیت میره بالاتر و ... . چون خودتون هنوز استفاده نمی کنید نذارید داخل این پروژه هم استفاده نشه
؟؟
کی استفاده نمی کنه؟
ماکه برای خودمون استفاده می کنیم درست پروژه رو برنامه ریزی می کنیم، به بن بست هم نمی خوریم. گیر هم نمی کنیم.
منتها این پروژه لایت و سبک رو ببین چطوری برنامه ریزی میشه! مثلاً مدیر پروژه ای ها

سر یه کلاس یا متدهای کلاس مکث میشه. statement?!

بخدا این پروژه واسه من مثل یه شوت باکس می مونه. اگر درست برنامه ریزی بشه در عرض 1-2 ساعت کل core ش رو می نوشتم
وبلاگ: Yousha.Blog.ir


 کد کمتر => خطای کمتر => قابل فهمتر => خوانایی بالاتر => نگهداری بهتر

  پاسخ
تشکر شده توسط : Reza


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان