السلام عليكم و رحمة الله تعالى و بركاته
ممكن طريقة تحميل المواضيع مثل أرابيا ب php و شكرا
كما أشار إليك الأخوه من خلال إستخدام نمط rewrite URL من خلال ملف htaccess. ولكن إستخدام هذا النمط يتوجب عليك المعرفة بالتعابير القياسية Regular expressions لتستطيع تنفيذ ما تريد بسهولة.
والخيارات الأخرى المتاحة هي إستخدام أحد أُطر العمل المتاحة على الساحة للغة php وأرشح لك إطار عمل Laravel
أو لو كنت لا تنوي العمل على إطار عمل يمكنك العمل من خلال مكتبات لعمل Route فقط كالمتبة التالية:
الطريقة مشروحة هنا
كيف ممكن شرح
أنا لا أقصد تحميل المواضيع من أرابيا لموقع آخر بل جلب المواضيع من قاعدة البيانات كما أرابيا يعني
تجد الرابط هكذا
website.com/category/موضوع-كذا-و-كذا
و ليس هكذا
website.com/topic.php?id=52
يوجد طريقة اخرى و لكن انا لست متأكد منها لتحميل المواضيع كلها
عمل برنامج يمر على كل موضوع و يحمل ال HTML و تكتب كود لسحب البيانات من الصفحة و تغذيتها الى قاعدة بيانات
و لكن لو وجد API لأستطعنا عمل ذلك في كود بسيط جدا
هو كان يقصد جعل روابط موقعه "نظيفة" ان يحمل العنوان اسم المقال او التصنيف
عوض ان يحمل topic.php?id=52
اي عن rewriteUrl
بالنسبة عن الطريقة التي قلتها انت تحميل كامل html ثم سحب البيانات وتغديتها الى قاعدة البيانات
توجد هده المكتبة تسمح
تساعد في هدا الامر
أرابيا تستخدم أسلوب MVC كما أعتقد .
هناك طرق عدة، منها إستخدام إطار عمل به خاصية Route وذلك للقيام بالأمر .
أو عبر ملف .htaccess بإستخدام خاصية URL Rewrite ، يمكن عمل ذلك .
لكن أرابيا تعتمد على رقم الموضوع، في أول الرابط، ثم تضف العنوان له .
-
أما إن كنت تقصد جلب مواضيع من أرابيا بإستخدام الـ php، فعليك بإستخدام PHP DOM
يمكنك عمل ذالك من خلال إستخدام MVC في مشاريعك
مثال هذا الرابط :
يمكن تقسيم الرابط الي نصفين :
1- URL الدومين
2- URI ما بعد الدومين programming/20352-كيف-أحمل-المواضيع-مثل-arabia-ب-php
يمكن تقسيم URI الي نصفين :
1- /programming/ يمكن إعتباره كلاس داخل ملف PHP
2- 20352-كيف-أحمل-المواضيع-مثل-arabia-ب-php يمكن اعتباره فنكشن داخل الكلاس
طبعا عند الضغط على رابط الموضوع سيأخذ هذه المتغيرات الأول والثاني ويقوم بجلبها من قواعد البيانات
هذه الفكرة ببساطة فقط مرونة في استخدام الكلاسات و الدوال من أجل جلب المتغيرات من روابط اعلي المتصفح ثم جلب معلوماتها من قواعد البيانات، ويمكن أيضا استخدام إطار مثل laravel أو من خلال ملف .htaccess
التعليقات