গিটহাব থেকে বিদ্যমান ক্লাসটি বাড়ানোর চেষ্টা করার সময় আমি এই সমস্যার মুখোমুখি হয়েছি। আমি নিজেকে ব্যাখ্যা করার চেষ্টা করব, প্রথমে ক্লাসটি যেমন হওয়া উচিত ঠিক তেমন লিখছি এবং তারপরে ক্লাসটি এখন যেমন রয়েছে তেমন।
আমি যদিও
namespace mycompany\CutreApi;
use mycompany\CutreApi\ClassOfVendor;
class CutreApi extends \vendor\AwesomeApi\AwesomeApi
{
public function whatever(): ClassOfVendor
{
return new ClassOfVendor();
}
}
আমি শেষ পর্যন্ত কি করেছি
namespace mycompany\CutreApi;
use \vendor\AwesomeApi\ClassOfVendor;
class CutreApi extends \vendor\AwesomeApi\AwesomeApi
{
public function whatever(): ClassOfVendor
{
return new \mycompany\CutreApi\ClassOfVendor();
}
}
সুতরাং মনে হচ্ছে যে আপনি যখন কোনও নেমস্পেস ক্লাস ফিরিয়ে দেন এমন কোনও পদ্ধতি ব্যবহার করছেন তখন আপনি এই ভুলটি উত্থাপন করেছেন এবং আপনি একই শ্রেণিটি ফেরত দেওয়ার চেষ্টা করছেন তবে অন্যান্য নামস্থান সহ। ভাগ্যক্রমে আমি এই সমাধানটি পেয়েছি, তবে আমি পিএইচপি 7.২ এ এই বৈশিষ্ট্যটির সুবিধাটি পুরোপুরি বুঝতে পারি না, আমার কাছে বিদ্যমান শ্রেণি পদ্ধতিগুলি যেমন আপনার প্রয়োজন তেমন পুনরায় লেখার পক্ষে স্বাভাবিক, ইনপুট পরামিতিগুলির পুনরায় সংজ্ঞা এবং / অথবা এমনকি এর আচরণ সহ পদ্ধতি।
পূর্ববর্তী অ্যাপ্রোচগুলির একটি নেতিবাচক দিকটি হ'ল আইডিই \ মাইকম্পানি \ কাট্রেএপি \ ClassOfVendor () এ প্রয়োগ করা নতুন পদ্ধতিগুলি সনাক্ত করতে পারেনি। সুতরাং, আপাতত, আমি এই বাস্তবায়ন নিয়ে যাব।
বর্তমানে সম্পন্ন
namespace mycompany\CutreApi;
use mycompany\CutreApi\ClassOfVendor;
class CutreApi extends \vendor\AwesomeApi\AwesomeApi
{
public function getWhatever(): ClassOfVendor
{
return new ClassOfVendor();
}
}
সুতরাং, "যাই হোক না কেন" পদ্ধতিটি ব্যবহার করার চেষ্টা করার পরিবর্তে, আমি "গেটউইউজিং" নামে একটি নতুন লিখেছিলাম। প্রকৃতপক্ষে উভয়ই একই কাজ করছে, কেবল একটি ক্লাস ফিরিয়ে দিচ্ছে, তবে আমি আগে বর্ণনা করেছি যেমন ডাইফেরেন্টস নেমস্পেস দিয়ে।
আশা করি এটি কারও সাহায্য করতে পারে।
function customMethod( ... )
প্রতিটি ফাংশনের জন্য শিরোনাম (কেবল প্রথম লাইন :) পোস্ট করতে পারতেন তবে আমরা আপনাকে নির্দিষ্ট সমস্যাটি বলতে পারতাম