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

نام تاپیک: نحوه مقدادهی به متغیرهای داخل کلاس (حل شد)

  1. #1

    Question نحوه مقدادهی به متغیرهای داخل کلاس (حل شد)

    سلام.
    من تازه با برنامه نویسی شی گرا اشنا شدم.
    یه سری کد معمولی داشتم که می خواستم تبدیل کنم به شی گرا.
    اما یک جا به مشکل خوردم.
    تو مقداردهی متغیرهای داخل کلاس از صفحه قبل مشکل دارم.
    فرض کنید من یک سری متغیر داخل کلاسم تعریف کردم که مقدار این متغیرهارو می خوام برابر با مقدار text هایی قرار بدم که در صفحه قبل وجود داره.
    برای این کار اومدم از $_post استفاده کردم.
    متغیرهای داخل کلاس و مقدادهیشون رو به شکل زیر تعریف کردم.


    class insert
    {
    private $name='$_POST["name"]';
    private $family='$_POST["family"]';
    private $age='$_POST["age"]';
    }


    اما مقادیری که توسط $_post دریافت می شه رو نمی تونه تشخیص بده.
    تو یه پست دیگه بهم گفتن که تک کوتیشن ها رو بردارم چون مانع پردازشه.
    برداشتم اما خطا داره.
    چطوری می تونم مقدار text هایی که در صفحه قبل وجود داره رو به این متغیرها نسبت بدم که بعد بتونم توی توابعم ازشون استفاده کنم؟
    لطفا اگه می تونید، کمکم کنید.
    ممنون
    آخرین ویرایش به وسیله asma69 : جمعه 03 بهمن 1393 در 23:44 عصر

  2. #2

    نقل قول: نحوه مقدادهی به متغیرهای داخل کلاس

    لطفا اگه کسی می تونه کمکم کنه.
    ممنون می شم.
    خیلی مهمه

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

    نقل قول: نحوه مقدادهی به متغیرهای داخل کلاس

        <?php
    class insert
    {
    var $name;
    var $family;
    var $age;
    function printPost(){
    return $this->name;
    }
    }
    $c = new insert;
    $c->name = $_POST['name'];
    $c->family= $_POST['family'];
    $c->age = $_POST['name'];
    echo $c->printPost();

    ?>

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

    نقل قول: نحوه مقدادهی به متغیرهای داخل کلاس

    چون فیلدهای شما private هستن و نمیتونید مستقیم بهشون دسترسی داشته باشین برای اینکار بهتره از متدهای جادویی دستیاب استفاده کنید

    class insert {
    private $name;
    private $family;
    private $age;

    public function __get($property) {
    if (property_exists($this, $property)) {
    return $this->$property;
    }
    }

    public function __set($property, $value) {
    if (property_exists($this, $property)) {
    $this->$property = $value;
    }

    return $this;
    }
    }

    $obj = new insert;
    $obj->name = $_POST['name'];
    $obj->family = $_POST['family'];
    $obj->age = $_POST['age'];
    echo $obj->name.' '.$obj->family.' and age is: '.$obj->age;

  5. #5

    نقل قول: نحوه مقدادهی به متغیرهای داخل کلاس

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

  6. #6

    نقل قول: نحوه مقدادهی به متغیرهای داخل کلاس

    سلام.
    تو پست قبلی هم توضیح دادم.
    من می خوام از مقادیر این متغیرهای private در داخل توابع کلاسم استفاده کنم. مثلا تابع inser
    موقع اجرا از این 3 خط کدم خطا می گیره و نمی تونه مقداردهی کنه


    $obj->name = $_POST['name'];
    $obj->family = $_POST['family'];
    $obj->age = $_POST['age'];


    و نمی تونه مقداردهی کنه.می دونید مشکل از چیه؟
    آخرین ویرایش به وسیله asma69 : شنبه 04 بهمن 1393 در 14:13 عصر

  7. #7
    کاربر دائمی آواتار hamedarian2009
    تاریخ عضویت
    بهمن 1389
    محل زندگی
    گرگان
    پست
    1,691

    نقل قول: نحوه مقدادهی به متغیرهای داخل کلاس

    شما مقادیر این سه تا متغیر رو بیرون از کلاس مقداردهی می کنید و برای استفاده از متغیرها داخل متدی از کلاس از this$ و اسم اون متغیر باید استفاده کنید مثلا این تابع برای چاپ این سه تا رو نوشتم:

    public function display(){
    echo 'name: '.$this->name.' '.$this->family.' and age : '.$this->age;
    }


    فقط این تابع رو موقعی به کار می برین که متغیرهارو مقدار دهی کرده باشین

    $obj = new insert;
    $obj->name = $_POST['name'];
    $obj->family = $_POST['family'];
    $obj->age = $_POST['age'];
    $obj->display();

  8. #8

    نقل قول: نحوه مقدادهی به متغیرهای داخل کلاس

    خیلی ممنون.
    امتحان می کنم ببینم چه نتیجه می ده.
    مرسی.

  9. #9

    نقل قول: نحوه مقدادهی به متغیرهای داخل کلاس

    سلام.
    مشکلم حل شد.
    مرسی . ممنون از راهنماییتون.

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

  1. سوال: نحوه دسترسی به یک متغیر داخل کلاس
    نوشته شده توسط css-man در بخش PHP
    پاسخ: 5
    آخرین پست: دوشنبه 17 مهر 1391, 19:09 عصر
  2. سوال: چجوری میشه از متغیرهای داخل کلاس استفاده کرد ؟
    نوشته شده توسط irantkd در بخش ASP.NET Web Forms
    پاسخ: 2
    آخرین پست: شنبه 30 آذر 1387, 00:26 صبح
  3. نحوه انتخاب کردن متن داخل txt؟
    نوشته شده توسط majid325 در بخش Access
    پاسخ: 1
    آخرین پست: شنبه 18 فروردین 1386, 06:36 صبح
  4. نحوه JUSTIFY کردن در داخل RICHTEXTBOX کدمنو چک کنید
    نوشته شده توسط Amin_tus در بخش VB.NET
    پاسخ: 0
    آخرین پست: چهارشنبه 14 بهمن 1383, 18:44 عصر
  5. لیست متغیرهای یک کلاس
    نوشته شده توسط Sohrab_Tapar در بخش برنامه نویسی در Delphi
    پاسخ: 0
    آخرین پست: یک شنبه 07 تیر 1383, 13:27 عصر

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

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