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

مساعده في دمج كلاسين php

Flutter Dev

السؤال

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

تحيه طيبه للجميع

احاول ان اقلص عدد الكلاسات المستعمله لدي php ولكن خبرتي قليله في برمجة php  والباك اند

كيف ممكن اضافة هذا الفكشن :

    public function insertPhoto($itm)  {
        $stmt = $this->pdo->prepare('INSERT INTO photos( 
                                            photo_url 
                                           
                                     
                                             ) 

                                        VALUES(
                                            :photo_url
                                         
                                     
                                            )');

        $result = $stmt->execute(
                            array('photo_url' => $itm->photo_url,
                                   
                                  ) );
        
        return $result ? true : false;
    }

في هذا الكلاس:

<?php

 


  $controllerPhoto = new ControllerPhoto();


  $arrPhotos = array();




  if(count($arrPhotos) > 0) {
      for($ind = 0; $ind < count($arrPhotos); $ind++) {
          $photo = new Photo();
  
          $photo->photo_url = $arrPhotos[$ind];
 
          $controllerPhoto->insertPhoto($photo);
      }
  }



  function sanitize($key) {
      $val = "";
      if( !empty($_POST[$key]) )
        $val = $_POST[$key];

      return $val;
  }









?>

 

 

مع العلم اني قمت بالتالي ولكن لم ينجح :

<?php




  $controllerPhoto = new ControllerPhoto();
  $extras = new Extras();





  $arrPhotos = array();




  if(count($arrPhotos) > 0) {
      for($ind = 0; $ind < count($arrPhotos); $ind++) {
          $photo = new Photo();
  
          $photo->photo_url = $arrPhotos[$ind];
 
          insertPhoto($itm)->insertPhoto($photo);
      }
  }
  function insertPhoto($itm)  {
    $stmt = $this->pdo->prepare('INSERT INTO photos( 
                                        photo_url 
                                       
                                 
                                         ) 

                                    VALUES(
                                        :photo_url
                                     
                                 
                                        )');

    $result = $stmt->execute(
                        array('photo_url' => $itm->photo_url,
                               
                              ) );
    
    return $result ? true : false;
}



  function sanitize($key) {
      $val = "";
      if( !empty($_POST[$key]) )
        $val = $_POST[$key];

      return $val;
  }









?>

وبعض المحاولات المختلفه ايضا لم تنجح

ما هو الخطاء او كيف يمكن عمل ذلك والوصول الى الفكشن insertPhoto($itm)  في هذا الكلاس

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

Recommended Posts

  • 1

ليس لديك أي كلاس ليتم إضافة الدالة إليه , لذلك يمكنك إنشاء كلاس بهذا الشكل 

<?php
class ControllerPhoto {
	
	public $pdo; 
	
	function __construct($pdo){
		$this->pdo = $pdo // الأستعلام الخاص بقاعدة البيانات
	}
	function insertPhoto($itm)  {
		$stmt = $this->pdo->prepare('INSERT INTO photos(photo_url) VALUES(:photo_url)');

		$result = $stmt->execute(array('photo_url' => $itm->photo_url,));
		
		return $result ? true : false;
	}

	function sanitize($key) {
		$val = "";
		if( !empty($_POST[$key]) )
		$val = $_POST[$key];

		return $val;
	}
}

و من ثم تمرير متغير pdo$ الخاص بالإتصال بقاعدة البيانات , ومن ثم يمكنك استدعاء الدالة بهذا الشكل 

$controllerPhoto->controllerPhoto($photo);

فيكون كامل الكود بهذا الشكل 

<?php
class ControllerPhoto {
	
	public $pdo; 
	
	function __construct($pdo){
		$this->pdo = $pdo // الأستعلام الخاص بقاعدة البيانات
	}
	function insertPhoto($itm)  {
		$stmt = $this->pdo->prepare('INSERT INTO photos(photo_url) VALUES(:photo_url)');

		$result = $stmt->execute(array('photo_url' => $itm->photo_url,));
		
		return $result ? true : false;
	}

	function sanitize($key) {
		$val = "";
		if( !empty($_POST[$key]) )
		$val = $_POST[$key];

		return $val;
	}
}
$controllerPhoto = new ControllerPhoto();
$controllerPhoto->controllerPhoto($photo);
$extras = new Extras();
$arrPhotos = array();
if(count($arrPhotos) > 0) {
  for($ind = 0; $ind < count($arrPhotos); $ind++) {
	  $photo = new Photo();

	  $photo->photo_url = $arrPhotos[$ind];

	  insertPhoto($itm)->insertPhoto($photo);
  }
}
?>

 

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

  • 0
بتاريخ منذ ساعة مضت قال بلال زيادة:

ليس لديك أي كلاس ليتم إضافة الدالة إليه , لذلك يمكنك إنشاء كلاس بهذا الشكل 


<?php
class ControllerPhoto {
	
	public $pdo; 
	
	function __construct($pdo){
		$this->pdo = $pdo // الأستعلام الخاص بقاعدة البيانات
	}
	function insertPhoto($itm)  {
		$stmt = $this->pdo->prepare('INSERT INTO photos(photo_url) VALUES(:photo_url)');

		$result = $stmt->execute(array('photo_url' => $itm->photo_url,));
		
		return $result ? true : false;
	}

	function sanitize($key) {
		$val = "";
		if( !empty($_POST[$key]) )
		$val = $_POST[$key];

		return $val;
	}
}

و من ثم تمرير متغير pdo$ الخاص بالإتصال بقاعدة البيانات , ومن ثم يمكنك استدعاء الدالة بهذا الشكل 


$controllerPhoto->controllerPhoto($photo);

فيكون كامل الكود بهذا الشكل 


<?php
class ControllerPhoto {
	
	public $pdo; 
	
	function __construct($pdo){
		$this->pdo = $pdo // الأستعلام الخاص بقاعدة البيانات
	}
	function insertPhoto($itm)  {
		$stmt = $this->pdo->prepare('INSERT INTO photos(photo_url) VALUES(:photo_url)');

		$result = $stmt->execute(array('photo_url' => $itm->photo_url,));
		
		return $result ? true : false;
	}

	function sanitize($key) {
		$val = "";
		if( !empty($_POST[$key]) )
		$val = $_POST[$key];

		return $val;
	}
}
$controllerPhoto = new ControllerPhoto();
$controllerPhoto->controllerPhoto($photo);
$extras = new Extras();
$arrPhotos = array();
if(count($arrPhotos) > 0) {
  for($ind = 0; $ind < count($arrPhotos); $ind++) {
	  $photo = new Photo();

	  $photo->photo_url = $arrPhotos[$ind];

	  insertPhoto($itm)->insertPhoto($photo);
  }
}
?>

 

شكرا لك اخي الكريم

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

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...