اذهب إلى المحتوى
  • 0

استفسار حول oop

Seyid Ahmed Khessam

السؤال

السلام عليكم ورحمة الله تعالى وبركاته

لدي استفسار اذا كان بمقدوري تضمين دالة محجوزة داخل لغة php لمجموعة من الخصائص او المتغيرات دون تكرار العملية عند كل خاصية او متغير

الكود كتالي :

if (isset($_POST['signup'])){
    /* User_Info */
    
  class userInfo{
    
    private $ufame;
    private $uname;
    private $umail;
    private $upass;
    private $uyear;
    private $udays;
    private $umonth;
    public function users(){
      $this->ufame = $_POST['ufame'];
      $this->uname = $_POST['uname'];
      $this->umail = $_POST['umail'];
      $this->upass = $_POST['upass'];
      $this->uyear = $_POST['uyear'];
      $this->udays = $_POST['udays'];
      $this->umonth= $_POST['umonth'];
    }

  }$user = new userInfo();

  $user->users();
  print_r($user);
}

مثلا هل يمكنني تضمين دالة trim لجميع الخصائص او المتغيرات دون تكرار العملية عند كل متغير وشكرا ♥

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0
بتاريخ 14 دقائق مضت قال Seyid Ahmed Khessam:

الطريقة الثانية هي ما ابحث عنه لكن بعض الامور لم افهمها لاني جديد بالبرمجة الكائنية مثلا طريقة بناء الصنف و {'property1'}

هي طريقة غير مستخدمة كثيرا في تعريف خاصية تابعة لغرض معين (بطريقة برمجية أي يمكنك تسمية الخاصية بوضع متحول و ستأخد الخاصية قيمته)

(فقط وضعت المثال لتعلم أنه يمكننا فعل ذلك) تبسيط المثال :

<?php
$obj = new stdClass;  // بناء صف
$obj->Property1 = " value1";
$obj->Property2 = "value2 ";

$newObj = new stdClass;

foreach($obj as $prop => $val)
{
     $newObj->$prop = trim($val); //نطبق الدالة على الخاصية   
}

$obj = $newObj;

unset($newObj);

var_dump($obj);

تطبيق trim على user:

if (isset($_POST['signup'])){
    /* User_Info */
    
  class userInfo{
    
    private $ufame;
    private $uname;
    private $umail;
    private $upass;
    private $uyear;
    private $udays;
    private $umonth;
    public function users(){
      $this->ufame = $_POST['ufame'];
      $this->uname = $_POST['uname'];
      $this->umail = $_POST['umail'];
      $this->upass = $_POST['upass'];
      $this->uyear = $_POST['uyear'];
      $this->udays = $_POST['udays'];
      $this->umonth= $_POST['umonth'];


      foreach($this as $prop => $val)
      {
           $this->$prop = trim($val); // نطبق الدالة على الخاصية   
      }


  }
  $user = new userInfo();
  
  $user->users();
  print_r($user);
}

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

نعم يمكننا ذلك

  • تطبيق الدالة trim على جميع عناصر مصفوفة

تطبيق trim على المصفوفة POST بتعليمة واحدة

$result = array_map('trim', $source_array);

شرح أكثر عن الالة array_map

نضعها في أول الكود ويصبح الكود بالتالي :

$_POST = array_map('trim', $_POST);

if (isset($_POST['signup'])){
    /* User_Info */
    
  class userInfo{
    
    private $ufame;
    private $uname;
    private $umail;
    private $upass;
    private $uyear;
    private $udays;
    private $umonth;
    public function users(){
      $this->ufame = $_POST['ufame'];
      $this->uname = $_POST['uname'];
      $this->umail = $_POST['umail'];
      $this->upass = $_POST['upass'];
      $this->uyear = $_POST['uyear'];
      $this->udays = $_POST['udays'];
      $this->umonth= $_POST['umonth'];
    }

  }$user = new userInfo();

  $user->users();
  print_r($user);
}
  • طريقة ثانية لتطبيق الدالة على Object :
<?php
$obj = new stdClass;  // بناء صف
$obj->{' Property1'} = " value1";
$obj->{'Property2 '} = "value2 ";

$newObj = new stdClass;

foreach($obj as $prop => $val)
{
     $newObj->{trim($prop)} = trim($val); // نطبق الدالة على الخاصية و القيمة سويا
}

$obj = $newObj;

unset($newObj);

var_dump($obj);

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ الآن قال Wael Aljamal:

نعم يمكننا ذلك

  • تطبيق الدالة trim على جميع عناصر مصفوفة

تطبيق trim على المصفوفة POST بتعليمة واحدة


$result = array_map('trim', $source_array);

$_POST = array_map('trim', $_POST);

if (isset($_POST['signup'])){
    /* User_Info */
    
  class userInfo{
    
    private $ufame;
    private $uname;
    private $umail;
    private $upass;
    private $uyear;
    private $udays;
    private $umonth;
    public function users(){
      $this->ufame = $_POST['ufame'];
      $this->uname = $_POST['uname'];
      $this->umail = $_POST['umail'];
      $this->upass = $_POST['upass'];
      $this->uyear = $_POST['uyear'];
      $this->udays = $_POST['udays'];
      $this->umonth= $_POST['umonth'];
    }

  }$user = new userInfo();

  $user->users();
  print_r($user);
}

شرح أكثر عن الالة array_map

نضعها في أول الكود ويصبح الكود بالتالي :

  • طريقة ثانية لتطبيق الدالة على Object :

<?php
$obj = new stdClass;  // بناء صف
$obj->{' Property1'} = " value1";
$obj->{'Property2 '} = "value2 ";

$newObj = new stdClass;

foreach($obj as $prop => $val)
{
     $newObj->{trim($prop)} = trim($val); // نطبق الدالة على الخاصية و القيمة سويا
}

$obj = $newObj;

unset($newObj);

var_dump($obj);

 

الطريقة الثانية هي ما ابحث عنه لكن بعض الامور لم افهمها لاني جديد بالبرمجة الكائنية مثلا طريقة بناء الصنف و {'property1'}

هل يمكنك شرح الامر في نفس الكود الذي اعطيتك اياه واسف اذا اطلت عليك اخي ♥

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...