मैं अपनी PHP फ़ाइल में कक्षाओं को स्वत: लोड कर रहा हूं, और स्वत: लोड बिना किसी समस्या के फ़ाइल का पता लगा सकता है और इसकी आवश्यकता कर सकता है। हालांकि, जब मैं अपने कोड में कक्षा का उपयोग करने के लिए जाता हूं, तो मुझे "कक्षा नहीं मिली" त्रुटि मिलती है। मुझे समझ में नहीं आता कि ऐसा क्यों हो रहा है, क्योंकि बिना किसी समस्या के ऑटोलैडर में क्लास फ़ाइल स्थित और आवश्यक हो सकती है। किसी भी मदद की सराहना की जाती है

require "../square-php-sdk-master/autoload.php";

$body = new \SquareConnect\Models\CreatePaymentRequest()

त्रुटि:

Fatal error: Uncaught Error: Class 'SquareConnect\Models\CreatePaymentRequest' not found in C:\wamp64\www\testSite.test\include\order-cart.inc.php
1
J Tovell 14 जुलाई 2020, 03:13

2 जवाब

सबसे बढ़िया उत्तर

ऑटोलोडेड द्वारा लोड की जा रही फाइलों के नामस्थान की जांच करें। स्पष्ट रूप से, ऑटोलैडर उन्हें ढूंढने में सक्षम है, लेकिन वे SquareConnect\Models के अलावा किसी अन्य नामस्थान में लोड किए गए हैं...
आपको लोड की गई फ़ाइल के शीर्ष पर नाम स्थान मिलेगा, सुनिश्चित करें कि यह कहता है:

namespace SquareConnect\Models

बहुत सारे स्क्वायर एपीआई में, वे नेमस्पेस \ स्क्वायर का उपयोग करते हैं न कि \ स्क्वायर कनेक्ट ताकि यह भी जांचने के लिए कुछ है

0
J Tovell 16 जुलाई 2020, 19:47

हो सकता है कि आप प्लग-इन फ़ाइल में नियमित (

<?

में बदलो

<?php

या फ़ाइल में नाम स्थान निर्दिष्ट नहीं किया जा सकता है

<?php

namespace SquareConnect\Models

class CreatePaymentRequest(){
    ...
}
0
Юрий 14 जुलाई 2020, 10:58