نمایش نتایج 1 تا 8 از 8

نام تاپیک: استفاده از mysql link resource در کلاس والد

  1. #1
    کاربر دائمی آواتار maysam.m
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    تهران
    پست
    400

    استفاده از mysql link resource در کلاس والد

    سلام

    من یک کلاس والد و چند تا کلاس فرزند دارم.
    کلاس های فرزند موقعی که میخوان کوئری رو اجرا کنند mysql link resource رو از کلاس والد دریافت می کنند و کوئری ها رو اجرا می کنند.
    میخواستم بدونم آیا این روش، در استفاده های زیاد مشکلی از نظر سرعت و کارایی دارد؟


    class parent1
    {

    function mysql_connect()
    {
    return $handle = @new mysqli('localhost', 'root', '', 'test');

    }


    }

    class child1 extends parent1
    {
    function show_table()
    {
    $resource = parent::mysql_connect();
    $query = $resource->query("SELECT * FROM mytbl");
    }


    }


  2. #2
    کاربر دائمی آواتار colors
    تاریخ عضویت
    بهمن 1389
    محل زندگی
    کــردســــــــــتــان
    پست
    1,075

    نقل قول: استفاده از mysql link resource در کلاس والد

    سلام

    فکر نکنم این کار درست باشه! قرار نیست که هر بار query درخواست میشه ارتباط مجددا برقرار بشه.

    در ضمن تو نسخه های جدید PHP وقتی یک ارتباط برقرار بشه اگه سعی کنید که مجددا ارتباطی برقرار کنید از همون لینک قبلی براتون استفاده میکنه و رو سرعت تاثیری نداره

  3. #3
    کاربر دائمی آواتار maysam.m
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    تهران
    پست
    400

    نقل قول: استفاده از mysql link resource در کلاس والد

    فکر نکنم این کار درست باشه! قرار نیست که هر بار query درخواست میشه ارتباط مجددا برقرار بشه.
    تست کردم کار میکنه.


    این روش چطور؟

    class child1 extends parent1
    {
    private $resource;

    function child1()
    {
    $this->$resource = parent::mysql_connect();
    }

    function show_table()
    {
    resource = $this->resource;
    $query = $resource->query("SELECT * FROM mytbl");
    }


    }

    توی هر کلاس فرزند یک بار ارتباط رو میگیره و توابع کلاس از همین ارتباط برای اتصال به mysql استفاده میکنند! نظرتون چیه؟

  4. #4
    کاربر دائمی آواتار colors
    تاریخ عضویت
    بهمن 1389
    محل زندگی
    کــردســــــــــتــان
    پست
    1,075

    نقل قول: استفاده از mysql link resource در کلاس والد

    نقل قول نوشته شده توسط maysam.m مشاهده تاپیک
    تست کردم کار میکنه.
    من که نگفتم کار نمیکنه.بله میشه ولی منطقی نیست

    نقل قول نوشته شده توسط maysam.m مشاهده تاپیک
    این روش چطور؟

    class child1 extends parent1
    {
    private $resource;

    function child1()
    {
    $this->$resource = parent::mysql_connect();
    }

    function show_table()
    {
    resource = $this->resource;
    $query = $resource->query("SELECT * FROM mytbl");
    }


    }

    توی هر کلاس فرزند یک بار ارتباط رو میگیره و توابع کلاس از همین ارتباط برای اتصال به mysql استفاده میکنند! نظرتون چیه؟
    اصلا اینم منطقی نیست.
    به نظر من تو تابع والد یه تابع سازنده بزار که وقتی شیء از اون کلاس یا کلاس های فرزندش ساخته میشه، با بانک ارتباط برقرار کنه. همین
    کد زیررو ببین
    <?php 
    class Saman
    {

    function __construct(){
    echo 'Hello';
    }

    function printText($str){
    echo $str;
    }

    }

    class Saman1 extends Saman
    {

    function printName($name){
    echo $name;
    }

    }

    $c = new Saman1;

    ?>

  5. #5
    کاربر دائمی آواتار maysam.m
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    تهران
    پست
    400

    نقل قول: استفاده از mysql link resource در کلاس والد

    خوب تفاوتش چیه که کد منبع در تابع سازنده قرار بگیره؟ در هر صورت با بانک ارتباط میگیره! درسته؟

  6. #6
    کاربر دائمی آواتار colors
    تاریخ عضویت
    بهمن 1389
    محل زندگی
    کــردســــــــــتــان
    پست
    1,075

    نقل قول: استفاده از mysql link resource در کلاس والد

    نقل قول نوشته شده توسط maysam.m مشاهده تاپیک
    خوب تفاوتش چیه که کد منبع در تابع سازنده قرار بگیره؟ در هر صورت با بانک ارتباط میگیره! درسته؟
    خوب اینجوری فقط یک بار اجرا میشه و حتی لازم هم نیست خودتون اونو فراخوانی کنید. اینجوری شما وقتی کلاسی دارین که با بانک کار میکنه واز این کلاس ارث برده، دیگه مشکل ارتباطو اینارو ندارین.

  7. #7
    کاربر دائمی آواتار maysam.m
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    تهران
    پست
    400

    نقل قول: استفاده از mysql link resource در کلاس والد

    نقل قول نوشته شده توسط colors مشاهده تاپیک
    خوب اینجوری فقط یک بار اجرا میشه و حتی لازم هم نیست خودتون اونو فراخوانی کنید. اینجوری شما وقتی کلاسی دارین که با بانک کار میکنه واز این کلاس ارث برده، دیگه مشکل ارتباطو اینارو ندارین.
    به نظرم خیلی فرق نکرد.
    تابع کدمنبع رو نمیتونم در تابع سازنده کلاس والد بگذارم چون این کلاس فقط مختص mysql نیست .
    تابع کدمنبع در سازنده ی کلاس فرزند قرار میگیره و در هر صورت یک بار فراخوانی میشه و اون کدمنبع رو میتونند همه ی توابع استفاده کنند چه در سازنده کلاس والد چه در یکی از توابع کلاس والد! بنابراین فکر نمیکنم فرقی بکنه!
    برای اینکه بفهمیم آیا در هر بار اتصال مجدد برقرار میشه یا نه باید چه کار کنیم؟

  8. #8
    کاربر دائمی آواتار colors
    تاریخ عضویت
    بهمن 1389
    محل زندگی
    کــردســــــــــتــان
    پست
    1,075

    نقل قول: استفاده از mysql link resource در کلاس والد

    نقل قول نوشته شده توسط maysam.m مشاهده تاپیک
    به نظرم خیلی فرق نکرد.
    تابع کدمنبع رو نمیتونم در تابع سازنده کلاس والد بگذارم چون این کلاس فقط مختص mysql نیست .
    تابع کدمنبع در سازنده ی کلاس فرزند قرار میگیره و در هر صورت یک بار فراخوانی میشه و اون کدمنبع رو میتونند همه ی توابع استفاده کنند چه در سازنده کلاس والد چه در یکی از توابع کلاس والد! بنابراین فکر نمیکنم فرقی بکنه!
    من که نگفتم فرق میکنه. میتونید حتی تابع سازنده رو تو کلاس فرزند بزارین.

    نقل قول نوشته شده توسط maysam.m مشاهده تاپیک
    برای اینکه بفهمیم آیا در هر بار اتصال مجدد برقرار میشه یا نه باید چه کار کنیم؟
    همونطور که در پستهای بالا هم ذکر کردم، اگه ارتباطی وجود داشته باشه، ارتباط جدید برقرار نمیشه و از همون ارتباط قبلی و منبعش استفاده میشه.

تاپیک های مشابه

  1. استفاده از mysql در cd
    نوشته شده توسط neda_barnamenevis در بخش PHP
    پاسخ: 13
    آخرین پست: سه شنبه 26 تیر 1386, 07:14 صبح
  2. استفاده از mysql یا Access
    نوشته شده توسط namin در بخش PHP
    پاسخ: 3
    آخرین پست: چهارشنبه 24 اسفند 1384, 07:43 صبح
  3. استفاده از mysql در برنامه های تحت Desktop
    نوشته شده توسط arash_hemmat در بخش MySQL
    پاسخ: 12
    آخرین پست: سه شنبه 26 مهر 1384, 14:29 عصر
  4. استفاده از MySQL در Win2003
    نوشته شده توسط Farhad.B.S در بخش PHP
    پاسخ: 2
    آخرین پست: سه شنبه 28 بهمن 1382, 20:41 عصر

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •