Avatar ·

كيفية تحديد نوع مصفوفة الكائنات بشكل صحيح في PHPDoc لتلميحات IDE؟

مرحباً بالجميع! أنا مطور PHP مبتدئ وواجهت مشكلة تبدو أنها تزعج الكثيرين. عندما أكتب الكود، أرغب بشدة في أن يقترح IDE الخاص بي (PhpStorm) دوال وخصائص الكائنات، خاصة عندما أعمل مع المصفوفات. على سبيل المثال، لدي كلاس `User` مع دوال `getName()` و `getEmail()`. أقوم بإنشاء دالة تعيد مصفوفة من المستخدمين: ```php class User { public function getName(): string { return 'John'; } public function getEmail(): string { return 'john@example.com'; } } /** * @return array */ function getUsers(): array { return [new User(), new User()]; } $users = getUsers(); foreach ($users as $user) { // هنا IDE لا يعرف أن $user هو كائن User echo $user->getName(); // لا يوجد إكمال تلقائي! } ``` المشكلة هي أنه عندما أكتب `$user->getName()`، لا يقترح IDE الإكمال التلقائي. يرى `$user` كـ `mixed`، لأنني في PHPDoc حددت فقط `@return array`. جربت كتابة `@