it-swarm.asia

ووردبريس كخلفية ، Laravel الواجهة الأمامية: كيفية توصيل الطرق؟

أنا بصدد تصميم موقع وأنا على الرغم من استخدام وورد له لأن العملاء يريدون أن يكونوا قادرين على تحرير المحتوى وأنهم ليسوا على اطلاع بأحدث التقنيات ، لذلك على الرغم من أن محرر WordPend backend بسيط للغاية و على التوالي إلى الأمام ، وهذا يمكن أن يكون خيارا لطيفا لذلك.

بعد ذلك ، على الرغم من أنني مجرد استخدامه كخلفية ومزجها مع بعض الأطر مثل Laravel أو CakePHP للقيام ببقية العمل وتصميم المشاهدات.

هل تعتقد أن هذا سيكون وسيلة لطيفة لذلك؟

عند التفكير فقط في استخدام سمات WordPress لذلك ، وجدت نفسي في مشكلة عندما أبدأ في التفكير في توجيه URL ، وأضطر إلى فهم ملفات القوالب التي يتم استدعاؤها لكل عنوان URL ، والتعامل مع النماذج ، واكتشاف أجهزة اللمس/الأجهزة المحمولة في الواجهة الخلفية.

ومن ناحية أخرى ، أعرف كيف أتعامل مع ذلك في أطر عمل أخرىPHP، لذلك يبدو من الأسهل بالنسبة لي القيام بذلك هناك.

أي ميزة لاستخدام وورد فقط للموقع بدلا من استخدام إطار خارجي لذلك؟ هل هناك طريقة ما لتوصيل نظام التوجيه Laravel بنظام إعادة كتابة WordPress؟

2
Alvaro

الشيء المتعلق بـ WordPress ، في حين أنه لا يحتوي على أنيق نظام توجيه من حيث المبدأ ، فإنه يقوم بنفس العملية. يأخذ إدخال عنوان URL ويطابقه بمجموعة من متغيرات الاستعلام.

الشيء غير الدقيق في الأمر هو أنه يستخدم تعبيرات منتظمة لهذه الطرق غير الممتازة و الكثير منها. يتقلب العدد الإجمالي للقواعد من حوالي مائة على الأقل إلى الآلاف لموقع معقد (تفريغ $wp_rewrite->rules لمشاهدة).

من الممكن استبدال هذا النظام تمامًا (من المحتمل ألا يكون نظيفًا بشكل خاص ، على حدود الاختراق المجنون من منظور WP).

التحدي الرئيسي هو أنه يتعين عليك بذل جهد هائل من أجل ميزة التكافؤ ، وهذا هو أن جهاز التوجيه الخاص بك لا يكسر 90 ٪ من الأشياء التي "تعمل فقط" في WP.

إذا لم تكن مهتمًا بتكافؤ الميزة ، فيمكنك إجراء مجموعة فرعية صغيرة منها وتجاهل الباقي.

ملاحظة: أو يمكنك فقط إنشاء موقع WP كما يجب القيام به. هذا يعمل لكثير من الناس. :)

3
Rarst

الجمع بين WordPress مع الأطر الأخرى سيجعل من السهل عليك إطلاق النار على قدمك. إذا كان كل ما يريده عملاؤك هو محرر ، فيمكنك فقط استخدام tinymce دون سحب كامل وورد في ذلك ، ولكن إذا كانوا بعد سير العمل والمرونة فلن يكون من المجدي محاولة جعل وورد شيئًا ليس كذلك. من الأرجح أن تقضي وقتًا أكثر ، ثم تتوقع التطوير ، ثم تنتج شيئًا لا يرضي عملائك تمامًا.

3
Mark Kaplun

لقد أنجزت هذا باستخدام Laravel باستخدام wp-api.org و Guzzle و caching ووسعت حزمة CyberDuck قليلاً لتناسب احتياجاتي. جميع وجهات نظري الخاصة والتوجيه الخاص بي.

عند التعامل معها بهذه الطريقة ، وجدت أنه من الأسهل التفكير في منطقة المشرف WPباعتبارها أكثر من مستودع محتوى منظم ، وأقل من CMS لإدارة الصفحة. لقد استخدمت ACF بكثرة والإضافات المخصصة الخاصة بي.

العديد من الإضافات الأخرى WP لن تعمل بشكل جيد ، حيث أن العديد من المنتجات تنتج. يجب عليك إما اكتشاف طريقة للحصول على هذا الإخراج وطباعته بنفسك أو إنشاء وظائفك الخاصة بدلاً من ذلك.

لم أنتهي مطلقًا من إطلاق هذا ، لأن المشروع يحتاج إلى عربة تسوق أساسية وأن WooCommerce تتناسب مع الفاتورة ، لذلك تمسك بموضوع WP بدلاً من ذلك. لكنها كانت تجربة تعليمية رائعة ونجحت في العمل بشكل جيد ، خاصة بمجرد تشغيل التخزين المؤقت.

ولكن سيكون لديك بعد ذلك تطبيقان للصيانة. في حالتي ، على الأقل ، من المنطقي حقًا فقط إذا كنت بصدد إنشاء مواقع ويب أو تطبيقات متعددة تغذيتها جميعها من مستودع المحتوى WP.

هل تعتقد أن هذا سيكون طريقة لطيفة لذلك؟

نعم ، إذا كان التطبيق أو المجال يستدعي ذلك. لقد استمتعت كثيرا باستخدام بلدي التوجيه وجهات النظر ، وأكثر من ذلك بكثير السيطرة. ولم يكن من الضروري أن أتطرق إلى أي رمز سمة من سمات WP، وهي مكافأة ضخمة.

أي ميزة لاستخدام وورد فقط للموقع بدلا من استخدام إطار خارجي لذلك؟

بالتأكيد ، تطبيق واحد أقل لصيانة وأقل بكثير للكتابة. كل التوجيه مدمج في WP. لكنك عالق في كيفية قيام [WP بتوجيه الأشياء ، ما لم تكن قد انخرطت بالفعل في محرك إعادة الكتابة الخاص به واخترقته ، مما قد يؤدي إلى العبث مع المكونات الإضافية الأخرى التي قد تقوم بتشغيلها.

هل هناك طريقة ما لتوصيل Laravel نظام التوجيه بنظام إعادة كتابة WordPress؟

لم أحفر الكثير في هذا الأمر ، كما لو كنت بحاجة إلى استخدام بنية إعادة كتابة/توجيه تشبه بما فيه الكفاية الفسفور الابيض ، كنت سألتزم فقط WP في المقام الأول. كان الدافع الرئيسي لمشروعي هو أن بنية مسار نطاقي ببساطة لن تتعاون مع WP's.

لم يكن من الصعب حقًا إعداد مسار (أي post/{slug}) للاستعلام عن WP API لـ {slug} والحصول على محتوى المنشور.

0
Steve Jamesson