ABA


"אוקיי, את הבעיה הקודמת הצלחתי לפתור, בואו נעבור הלאה:"
גירסת הדפסה        
קבוצות דיון בניית אתרים נושא #14402 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 14402
Groove
חבר מתאריך 6.8.11
219 הודעות
   00:00   18.09.08   
אל הפורום  
  אוקיי, את הבעיה הקודמת הצלחתי לפתור, בואו נעבור הלאה:  
 
   מה אני עושה לא נכון?
לפי הזכרון שלי לא צריכה להיות בעיה עם פונקציות בתוך פונקציה.
אולי הדרך שבה אני עושה "call" היא לא נכונה?

$files->cat->create('cat1', 'cat1.gif') or die('Could not create category: ' . mysql_error());

הקוד שעומד מאחורה הוא:


class fileManager extends dbConn
{
var $catId, $catImg, $catName;
var $fileId, $fileCid, $fileAid, $filePost;
var $fileName, $fileDescr, $fileImg, $fileURL, $filePw;
var $clicks, $hits, $info;

function cat ( )
{
function create ( $catName, $catImg )
{
$this->catName = $catName;
$this->catImg = $catImg;

parent::qry( "INSERT INTO `table` ( `name`, `img` )
VALUES ( '$this->catName', '$this->catImg' )" );
}
...
...

והשגיאה המתקבלת:


Fatal error: Call to a member function create() on a non-object in D:\Program Files\xampp\htdocs\prj\index.php on line 13

:<, ?, !!!
THX TO THE OZRIM



                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  מכתב(רעיון) PHP 18.09.08 14:43 1
     יש לך אולי תשובה לשאלה המקורית? Groove 19.09.08 10:00 2
  שמע אחי אולי אני לא מכיר Morishani 19.09.08 11:37 3
     מכתב Groove 19.09.08 11:49 4
  אוקיי הדוגמא הבאה עזרה לי להבין: Groove 19.09.08 11:51 5
     ניסית לעשות ככה? Morishani 19.09.08 13:49 7
         זהו חשבתי על זה... Groove 19.09.08 18:15 8
  סעמו, חשבתי שפתרתי את זה... Groove 19.09.08 12:09 6
     ניסית לעשות Morishani 19.09.08 22:33 10
  כוס על האמא של זה, עשיתי מחלקות ילד לזה וזהו... =\ Groove 19.09.08 21:52 9
     חnחnחnחnחnחnחnחnחnחn akoka 19.09.08 22:39 11
     תכלס? בשביל האבסטרקציה זה הרבה יותר עדיף :) Morishani 20.09.08 14:14 12

       
PHP

   14:43   18.09.08   
אל הפורום  
  1. מכתב(רעיון)  
בתגובה להודעה מספר 0
 
  

class A
{
public $category;

function __construct()
{
$this->category = $this;
}

function b()
{
echo "dsadasdas";
}
}
$a = new A();
$a->category->b();


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Groove
חבר מתאריך 6.8.11
219 הודעות
   10:00   19.09.08   
אל הפורום  
  2. יש לך אולי תשובה לשאלה המקורית?  
בתגובה להודעה מספר 1
 
   :X


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Morishani

   11:37   19.09.08   
אל הפורום  
  3. שמע אחי אולי אני לא מכיר  
בתגובה להודעה מספר 0
 
   אבל בחיים שלי לא ראיתי פונקציה בתוך פונקציה בPHP, בJS כן, בPHP לא


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Groove
חבר מתאריך 6.8.11
219 הודעות
   11:49   19.09.08   
אל הפורום  
  4. מכתב  
בתגובה להודעה מספר 3
 
  

Any valid PHP code may appear inside a function, even other functions and class definitions.

php.net :|


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Groove
חבר מתאריך 6.8.11
219 הודעות
   11:51   19.09.08   
אל הפורום  
  5. אוקיי הדוגמא הבאה עזרה לי להבין:  
בתגובה להודעה מספר 0
 
  

function foo()
{
function bar()
{
echo "I don't exist until foo() is called.\n";
}
}

ז"א צריך לעשות קונסטרקטור שיעשה $this->cat();


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Morishani

   13:49   19.09.08   
אל הפורום  
  7. ניסית לעשות ככה?  
בתגובה להודעה מספר 5
 
  

$x->foo()->bar()


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Groove
חבר מתאריך 6.8.11
219 הודעות
   18:15   19.09.08   
אל הפורום  
  8. זהו חשבתי על זה...  
בתגובה להודעה מספר 7
 
   אני פשוט כרגע לא בבית בשביל לבדוק את הפתרון שחשבתי עליו.
חשבתי ליצור עוד שני משתנים במחלקה לדוגמא CAT ו-FILE ובקונסטרקטור לעשות $this->cat = cat() וכו'...

אני מאמין שיעבוד, נראה :]


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Groove
חבר מתאריך 6.8.11
219 הודעות
   12:09   19.09.08   
אל הפורום  
  6. סעמו, חשבתי שפתרתי את זה...  
בתגובה להודעה מספר 0
 
   עכשיו זה מה שקורה:


Fatal error: Call to undefined function cat() in D:\Program Files\xampp\htdocs\prj\classes\file.class.php on line 12

קוד:


<?php

class fileManager extends dbConn
{
var $catId, $catImg, $catName;
var $fileId, $fileCid, $fileAid, $filePost;
var $fileName, $fileDescr, $fileImg, $fileURL, $filePw;
var $clicks, $hits, $info;

function __construct ( )
{
cat();
file();
}

function cat ( )
{

שורה 12: cat();

:(


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Morishani

   22:33   19.09.08   
אל הפורום  
  10. ניסית לעשות  
בתגובה להודעה מספר 6
 
   $this->cat()?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Groove
חבר מתאריך 6.8.11
219 הודעות
   21:52   19.09.08   
אל הפורום  
  9. כוס על האמא של זה, עשיתי מחלקות ילד לזה וזהו... =\  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
akoka

   22:39   19.09.08   
אל הפורום  
  11. חnחnחnחnחnחnחnחnחnחn  
בתגובה להודעה מספר 9
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Morishani

   14:14   20.09.08   
אל הפורום  
  12. תכלס? בשביל האבסטרקציה זה הרבה יותר עדיף :)  
בתגובה להודעה מספר 9
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net