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

نام تاپیک: افزودن فایل function در تمام پروژه بدون هم پوشانی

  1. #1

    Question افزودن فایل function در تمام پروژه بدون هم پوشانی

    سلام دوستان
    من یه وب سایت کوچولو با php نوشتم که توابع مورد نیاز رو توی یه فایلی با نام function.php قرار دادم.
    یه فایلم دارم بنام db.php که توابع کار با دیتابیس درونش هست. در واقع یه کلاس هست با متدهای مورد نیاز
    خب مشکل من...
    تا زمانی که بصورت مستقیم از داخل function.php از این کلاس db استفاده کنم مشکلی نیست. ولی وقتی توی فایل function.php میام و یه تابع ایجاد میکنم و میخوام توی اون تابع از کلاس db استفاده کنم اصلا نمیشناسه اون رو و متدهای اون رو.

    لطفا منو راهنمایی کنید که چطور بصورت بهینه یه فایل function.php داشته باشم که فایل db.php داخل اون include شده باشه و بدون مشکل ازشون استفاده کنم.

    سپاس

  2. #2

    نقل قول: افزودن فایل function در تمام پروژه بدون هم پوشانی

    سلام منم یه زمان این مشکل رو داشتم اما به جای حلش اومدم کل تابع های مربوط به دیتابیس رو توی همون db.php قرار دادم.
    گفتم شاید شما هم از این روش بخواین استفاده کنید.

  3. #3

    نقل قول: افزودن فایل function در تمام پروژه بدون هم پوشانی

    سلام و درود دوست من
    ممنون از پاسختون
    ولی من نمیخوام توابع db با توابع function یکجا باشن. میخوام بصورت دوتا فایل مجزا باشن

  4. #4

    نقل قول: افزودن فایل function در تمام پروژه بدون هم پوشانی

    حقیقتش من درست متوجه سوالتون نشدم، میتونید یک نمونه از دو تا فایلتون رو اینجا قرار بدین؟ شاید منظورتون با برداشت من متفاوت باشه.

  5. #5
    کاربر دائمی آواتار plague
    تاریخ عضویت
    آبان 1388
    محل زندگی
    اهواز
    پست
    2,360

    نقل قول: افزودن فایل function در تمام پروژه بدون هم پوشانی

    همیشه نمونه کد و اررورت رو بزار
    اگه object کلاس دیتابس رو بیرون از تابع ساختی یا باید بهش پاس بدی وقتی تابع رو صدا میزنی یا باید global بکنی



    class test {

    public function output(){
    echo "out put stuff";
    }
    }
    $testobj = new test();

    function action (){
    global $testobj ;
    $testobj->output();
    }


  6. #6

    نقل قول: افزودن فایل function در تمام پروژه بدون هم پوشانی

    نقل قول نوشته شده توسط plague مشاهده تاپیک
    همیشه نمونه کد و اررورت رو بزار
    اگه object کلاس دیتابس رو بیرون از تابع ساختی یا باید بهش پاس بدی وقتی تابع رو صدا میزنی یا باید global بکنی



    class test {

    public function output(){
    echo "out put stuff";
    }
    }
    $testobj = new test();

    function action (){
    global $testobj ;
    $testobj->output();
    }

    ُلام مهندس
    ممنون. مشکلم با global حل شد.
    ممنون بابت راهنمایی

  7. #7

    نقل قول: افزودن فایل function در تمام پروژه بدون هم پوشانی

    نقل قول نوشته شده توسط hobab-theme مشاهده تاپیک
    سلام دوستان
    تا زمانی که بصورت مستقیم از داخل function.php از این کلاس db استفاده کنم مشکلی نیست. ولی وقتی توی فایل function.php میام و یه تابع ایجاد میکنم و میخوام توی اون تابع از کلاس db استفاده کنم اصلا نمیشناسه اون رو و متدهای اون رو.
    سپاس
    سلام

    با توجه به اینکه اتصال به دیتابیس بهتر است تنها یک بار در کل برنامه انجام شود تا از سربار اضافه جلوگیری شود بهتر است کلاس شما نیز بصورت singleton طراحی شود. سپس به راحتی می توانید در هر جایی از برنامه یک نمونه از کلاس دیتابیس ایجاد کنید بدون اینکه ارتباط جدیدی با دیتابیس برقرار شود.

    در مورد اینکه یک متغیر عمومی قابل دسترس در داخل توابع نمی باشد. این یک امر طبیعی هست و توابع مانند یک کپسول عمل می کنند و برای اینکه بتوانند به متغیرهای دیگر دسترسی داشته باشند یا باید از آرایه $GLOBALS استفاده کنید یا لغت کلیدی global و یا متغیر مورد نظر را به عنوان یک آرگومان ورودی به تابع خود ارسال کنید.


    $a = 2;

    function printa(){
    $x = $GLOBALS['a'];
    echo $x;
    }
    printa();

    function printb(){
    global $a;
    echo $a;
    }
    printb();

    function printc($a){
    echo $a;
    }
    printc($a);




    ویرایش:
    متاسفم من تازه متوجه شدم که شما پاسخ خود را یافته اید

  8. #8

    نقل قول: افزودن فایل function در تمام پروژه بدون هم پوشانی

    بسیار سپاسگزارم از پاسخ کامل دقیق و مفیدتون.
    هرچند جوابم رو از جناب plague گرفتم ولی توضیحات شما هم با توجه به اینکه چند نمونه مثال رو در بر داشت بسیار مفید بود.
    بازم سپاس از همه دوستان

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

  1. استفاده از یه تابع از توی پوشه function از قسمت server explorer
    نوشته شده توسط نیکناز در بخش C#‎‎
    پاسخ: 0
    آخرین پست: جمعه 18 اسفند 1391, 10:52 صبح
  2. حرفه ای: با PHP چطوری میشه یه همچین چیزی ساخت؟ <class:function function=methods>
    نوشته شده توسط paayab در بخش PHP
    پاسخ: 7
    آخرین پست: سه شنبه 18 بهمن 1390, 17:29 عصر
  3. سوال: افزودن نام فایلهای با فرمت Pdf موجود در یک پوشه به ListBox
    نوشته شده توسط ali190 در بخش برنامه نویسی در 6 VB
    پاسخ: 2
    آخرین پست: شنبه 24 اردیبهشت 1390, 08:40 صبح
  4. پاسخ: 0
    آخرین پست: سه شنبه 22 آبان 1386, 08:27 صبح
  5. php4 از ساپورت بزودی خارج میشود 184 روز دیگر
    نوشته شده توسط alireza82 در بخش PHP
    پاسخ: 1
    آخرین پست: سه شنبه 09 مرداد 1386, 01:40 صبح

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

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