لماذا ملف أعمال PHP هو تذكرتك الذهبية؟
\n\nيتغير عالم التقنية كل ستة أشهر، لكن PHP لا تزال لغة قوية ومستقرة: فهي تشغّل 78% من جميع المواقع ذات الخادم المعروف (بما في ذلك WordPress و Laravel و Symfony). إذا كنت تتعلم PHP وترغب في الحصول على عرض عمل، فإن السيرة الذاتية وحدها لا تكفي – بل تحتاج إلى مشاريع يمكنك عرضها وشرحها في المقابلة.
\n\nفي هذه المقالة، جمعت 7 أفكار لملف أعمال PHP – من نصوص بسيطة إلى خدمات مصغرة متكاملة. كل مشروع مصحوب بكود حقيقي وشرح لماذا سيعزز مسيرتك المهنية. هيا بنا!
\n\n1. مدونة مصغرة بلغة PHP الخالصة (بدون أطر عمل)
\n\nلماذا هذا المشروع؟
\nلإظهار أنك تفهم كيفية عمل الطلبات والجلسات وقواعد البيانات دون سحر أطر العمل. هذه هي الأساسيات التي تُسأل عنها في كل مقابلة لمستوى متوسط.
\n\nماذا ستنفذ؟
\n- \n
- تسجيل/دخول (تشفير كلمات المرور، جلسات) \n
- CRUD للمقالات (إنشاء، تعديل، حذف) \n
- توجيه بسيط (ملف index.php واحد كنقطة دخول) \n
- عرض قائمة المقالات مع ترقيم الصفحات \n
مثال كود: موجه بسيط
\n// index.php — نقطة الدخول\n$uri = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);\n\nswitch ($uri) {\n case '/':\n require 'controllers/home.php';\n break;\n case '/login':\n require 'controllers/login.php';\n break;\n case '/register':\n require 'controllers/register.php';\n break;\n default:\n http_response_code(404);\n echo '404 غير موجود';\n break;\n}\n\n\nهذا الكود يظهر أنك تتقن التعامل مع المصفوفات الشاملة وبناء البنية يدويًا. لملف الأعمال، هذه بداية مثالية.
\n\n2. REST API للملاحظات (Laravel أو Slim)
\n\nلماذا API؟
\nالمشاريع الحديثة تُبنى بشكل متزايد على الخدمات المصغرة وتطبيقات الصفحة الواحدة (SPA). القدرة على كتابة REST API نظيف هي مهارة مطلوبة في 90% من وظائف مطور PHP.
\n\nماذا يجب أن يتضمن المشروع؟
\n- \n
- مسارات: GET, POST, PUT, DELETE لمورد "Note" \n
- التحقق من صحة البيانات الواردة \n
- مصادقة JWT (أو مفاتيح API) \n
- توثيق باستخدام Swagger/OpenAPI \n
مثال: وحدة تحكم في Laravel
\n// app/Http/Controllers/NoteController.php\nclass NoteController extends Controller\n{\n public function index()\n {\n return Note::where('user_id', auth()->id())->get();\n }\n\n public function store(Request $request)\n {\n $validated = $request->validate([\n 'title' => 'required|string|max:255',\n 'content' => 'required|string',\n ]);\n\n $note = auth()->user()->notes()->create($validated);\n\n return response()->json($note, 201);\n }\n\n public function destroy($id)\n {\n $note = Note::findOrFail($id);\n $note->delete();\n return response()->json(null, 204);\n }\n}\n\n\nمثل هذا المشروع لملف أعمال PHP يُظهر فورًا أنك تتقن العمل مع Eloquent و middleware ومبادئ REST. بالإضافة إلى ذلك، يمكنك إضافة اختبارات PHPUnit.
\n\n3. بوت تيليجرام لتتبع أسعار العملات
\n\nلماذا البوت؟
\nبوتات تيليجرام هي موضة رائجة. يحبها العملاء، وسهلة النشر (يمكن تشغيلها على استضافة مجانية)، وتظهر بشكل ممتاز التعامل مع واجهات API الخارجية.
\n\nماذا ستفعل؟
\n- \n
- الاتصال بـ BotFather والحصول على رمز مميز (token) \n
- كتابة معالج للأوامر /start, /rate USD, /rate EUR \n
- استخراج السعر من موقع البنك المركزي أو أي API مفتوح \n
- تخزين النتيجة مؤقتًا (لتجنب استدعاء API كل ثانية) \n
مثال كود: الحصول على سعر الصرف
\nfunction getExchangeRate($currency) {\n $cacheFile = __DIR__ . "/cache/{$currency}.json";\n if (file_exists($cacheFile) && (time() - filemtime($cacheFile) < 3600)) {\n return