$movie->getByPerma($perma,$language);
कुछ ऐसा लौटा रहा है जो कोई वस्तु नहीं है।
तो मैं
print_r($movie)
लाइन 2 पर और देखें कि मुझे क्या मिल रहा है।
दूसरी अजीब बात है:
$movie['rating'] = $movie->getRating($movie['id']);
बाईं ओर आप एक सरणी के रूप में $movie का उपयोग कर रहे हैं और दाईं ओर आप इसे एक ऑब्जेक्ट के रूप में उपयोग कर रहे हैं और फिर आपने उस पैरामीटर को भेजा है जिसका उपयोग आप एक सरणी के रूप में $movie['id'] करते हैं।
तो:
यदि आपको एक सरणी मिल रही है, तो सरणी में फ़ंक्शन नहीं हो सकते हैं, फ़ंक्शन एक वर्ग के बाहर होना चाहिए और इसे इस तरह कहा जाएगा:
getRating($movie['id'])
इसके बजाय
$movie->getRating($movie['id']).
यदि आपको कोई ऑब्जेक्ट मिल रहा है, और ऑब्जेक्ट फ़ंक्शन को लागू करता है
getRating($movie_id)
तो वस्तु के गुणों तक पहुँचने का तरीका है:
$movie->rating and $movie->id
मैं मान रहा हूं कि संपत्तियों को सार्वजनिक घोषित किया गया है। हालांकि इसे करने का यह सही तरीका नहीं है... गुण निजी होने चाहिए और आपको इस तरह की वस्तुओं के गुणों के लिए गेटर्स और सेटर्स लागू करना चाहिए:
private $rating;
public function get_rating()
{
return $this->rating;
}
इस मामले में रेटिंग प्राप्त करने के लिए, उपयोग करें
$movie->get_rating();
और रेटिंग के लिए एक मान निर्दिष्ट करने के लिए, लागू करें
public function set_rating($r)
{
$this->rating=$r;
}
और इस तरह मान निर्दिष्ट करें:
$movie->set_rating($some_rating);
पता नहीं अगर मैंने मदद की या सब कुछ और अधिक भ्रमित कर दिया:एस लेकिन मुझसे सवाल पूछने में संकोच न करें :)