Avatar ·

لماذا نحتاج إلى الرمز @ (الكلب) في PHP وكيف يعمل كبت الأخطاء؟

مرحباً بالجميع! لقد بدأت للتو في تعلم PHP وغالباً ما أرى في كود الآخرين رمزاً غريباً @ قبل الدوال. على سبيل المثال: ```php $file = @fopen('config.php', 'r'); $data = @file_get_contents('http://api.example.com'); @$result = someFunction(); ``` أفهم أن هذا له علاقة بالأخطاء، لكنني لا أفهم الأمر تماماً. عندما أكتب كوداً بدون @، عند الوصول إلى ملف غير موجود أو عند مشاكل في الشبكة، تظهر لي تحذيرات (warnings) وأخطاء fatal. أما مع @ فتختفي الأخطاء. لكن هذا لا يمكن أن يكون حلاً صحيحاً، أليس كذلك؟ لدي عدة أسئلة: 1. كيف يعمل operator @ بالضبط؟ هل يكبت جميع الأخطاء أم أنواعاً معينة فقط؟ 2. لماذا ينتقد العديد من المطورين ذوي الخبرة @ وينصحون بعدم استخدامه؟ 3. هل هناك بدائل طبيعية لمعالجة الأخطاء دون كبتها؟ يرجى تقديم أمثلة على متى يكون @ ضرورياً حقاً، ومتى يكون ممارسة سيئة. شكراً مقدماً! <<>>

كيف يعمل operator @ في PHP