حالة:
إطار عمل بناء التطبيقات المعياري (HMVC) - مكتمل بالواجهة الأمامية وREST API ومنطقتين إداريتين (المسؤول / الآمن)
إنشاء وحدات "blox" لإنشاء تطبيقات ويب على مستوى المؤسسات
يستخدم Codeigniter 3.x وBootstrap 4.xx
يمكن استخدامه كبداية/نموذج أساسي لمشروع البدء السريع
ما هي بلوكس؟ "Blox" هي مجرد وحدات أو تطبيقات صغيرة قابلة للتوصيل تُستخدم بشكل شائع في تطبيقات الويب. يتضمن Ignition Go مولدًا قائمًا على الويب (راجع BuildABlox). المثال المخطط له "blox" سيكون عبارة عن مرسل بريد إلكتروني مجمع ومدير تقارير وغير ذلك الكثير !!!
التوثيق متاح الآن: [وثائق Ignition-Go على GitHub] (http://ci-blox.github.io/Ignition-Go/#/concepts/ACL) ألق نظرة على وثائق المفاهيم الأساسية وراجع أيضًا /docs مجلد للمزيد.
PHP 7.3 يمكنك تشغيله بإصدار أقل (5.6) ولكن الإصدار الموصى به للإنتاج لاستخدامه هو PHP 7.3 لمشاريعك. PHP 7.3 مدعوم الآن في أحدث التعليمات البرمجية وأي شيء أقل من PHP 7.3 لم يعد مدعومًا رسميًا.
Apache 2.4+ مع تمكين إعادة الكتابة
MySQL 5.5+ أو MariaDb
****ملاحظة: الآن يتم استخدام الغزل للحزم (لذا ليست هناك حاجة إلى Bower/اختياري).
GIT استنساخ هذا المستودع
مثال: git clone https://github.com/ci-blox/Ignition-Go.git myigoapp
أيضاً:
2 أ) استخدم Yarn وGulpjs (ينصح به بشدة لغير الخبراء) - انتقل إلى الخطوة 3
-أو-
2ب) قم بتعيين خادم الويب الخاص بك إلى المجلد "العام" لاستخدام إصدارات الحزم المثبتة مسبقًا
(انتقل إلى الخطوة 8)
قم بتثبيت NPMnode.js: مدير الحزم لوحدات العقدة، و[تثبيت Yarn] (https://yarnpkg.com/lang/en/docs/install/)
قم بتغيير الدليل إلى جذر الموقع/تطبيق الويب الجديد
على سبيل المثال: cd myigoapp
تثبيت كافة الحزم والمكونات
النوع: yarn install
قم بإنشاء قاعدة بيانات mySql أو MariaDb فارغة (اسم قاعدة البيانات الافتراضي هو ci_blox) ومستخدم (الافتراضي هو الجذر/بدون كلمة مرور). لاحظ أن ملف data.php الموجود في التطبيق/التكوين يحتوي على إعدادات التكوين هذه.
مثال: استخدم أداة مثل HeidiSQL أو phpMyAdmin وقم بإنشاء قاعدة بيانات ومستخدم يتمتع بامتيازات قاعدة البيانات الجديدة
قم بتشغيل "gulp" (لاحظ أن gulp سيتم تشغيله بشكل مستمر في وضع "المراقبة"، لمراقبة تغييرات CSS وJS).
ثم
أي نوع: gulp
أو.. اكتب: gulp serve
أو.. اكتب: gulp build
الذي يعيد بناء JS وCSS فقط
(اختياري، مطلوب في حالة عدم وجود جرعة أو في الإنتاج) في Apache، قم بتعيين المجلد "العام" إلى المضيف المحلي أو عنوان URL آخر
مثال: في ملف httpd-vhosts.conf، قم بإضافة قسم <VirtualHost>
جديد وأعد تشغيل Apache
انتقل إلى http://[your-web-root-from-step-7]/install/init في متصفحك لإنهاء استخدام معالج التثبيت
على سبيل المثال، إذا استخدمت gulp، انتقل إلى http://localhost:8080/install/init
إذا كنت قد أنشأت مضيفًا افتراضيًا igotestlocal.com، فانتقل إلى http://igotestlocal.com/install/init في متصفحك
يعد Ignition Go بمثابة نقطة انطلاق لتطورك السريع:
موقع ويب متعدد الأوجه (مثل موقع الويب الأمامي، ووحدات المستخدم المعتمد فقط، ولوحة الإدارة، وواجهة برمجة التطبيقات) في تطبيق واحد
تصميم وحدات باستخدام ملحق CodeIgniter HMVC
ملفات التكوين المخصصة (sites.php، locale.php) لتكوين سلوك موقع الويب بسهولة
واجهة أمامية ذات سمات متعددة (مع أكثر من 16 سمة مجانية من Bootswatch)
لوحة الإدارة مع سمة AdminLTE v3
يتضمن استخدام العديد من المكتبات الاختيارية الأخرى التابعة لجهات خارجية عبر Composer أو NPM أو Yarn
موقع API للتعامل مع نقاط النهاية RESTful
مصادقة المستخدم (اختياري) للمنطقة الآمنة في موقع الواجهة الأمامية (الاشتراك، تسجيل الدخول، نسيت كلمة المرور، وما إلى ذلك)
مصادقة المستخدم للوحة الإدارة (تسجيل الدخول، تغيير كلمة المرور، وما إلى ذلك)
التخطيطات والقوالب المعدة مسبقًا
مسار الأصول المحدد مسبقًا (على سبيل المثال تصغير البرامج النصية وتحسين الصورة) عبر Gulp (مرجع من فرع gulp-starter 2.0)
وحدة Buildablox blox/منشئ النماذج لإنشاء طرق عرض نماذج blox وCRUD باستخدام سمة Bootstrap والتحقق من صحة النموذج
التعامل مع مسارات التنقل وترقيم الصفحات
دعم متعدد اللغات
إعداد تكوين البريد الإلكتروني
وظائف الأداة المساعدة لواجهة سطر الأوامر (مثل وظيفة cron والنسخ الاحتياطي لقاعدة البيانات)
عميل Guzzle متكامل كمكتبة (استخدم بدلاً من Curl)
استخدم خدمة gulp لرؤية تحديثات التعليمات البرمجية على الفور
بنية المجلد (معظم المجلدات وليس كلها معروضة). **=غير متوفر بعد
application/ --- Main application (CodeIgniter) source folder config/ --- Config files production/ --- Override Configuration when ENVIRONMENT is set as "production" controllers/ --- Controllers for Frontend Website; extends from MX_Controller, Base_Controller or Front_Controller Cli.php --- Utility function that can only be called from command line Home.php --- Default controller for Frontend Website core/ --- Extending CodeIgniter core classes; can also be used within modules (MY_????.php); Also extendable controllers here helpers/ --- Contains custom helper functions being used throughout this repo language/ --- Preset language files lib/ --- Custom libraries (e.g. Data Importer) models/ --- Sample model extending from MY_Model toolblox/ ** --- Each blox module can be installed or removed modules/ --- Each module can be accessed by http://{base_url}/{module_name}/{module_controller}/, etc. admin/ --- Module for Admin Panel config/ --- Configuration for Admin Panel (overriding application/config/) controllers/ --- Controllers for Admin Panel; also extends from MY_Controller helpers/ --- Helper classes, e.g. to generate AdminLTE widgets lib/ --- Libraries admin models/ --- Models only being used in Admin panel views/ --- Views for Admin Panel; can reuse Frontend views, or override by using same path/filename api/ --- A module specific for REST API endpoints buildablox/ --- A module to generate and add/remove blox logs/ --- A module for viewing the daily logs securinator/ --- A module for roles, permissions, security settings translate/ --- A module to edit (and auto-generate**) translations third_party/ MX/ --- Required for HMVC extension views/ --- Views for Frontend Website public/ --- SITE ROOT (point Apache here) public/assets/ css/ --- Custom CSS files append to each site dist/ --- Minified scripts, stylesheets (and optionally) optimized images via Gulp tasks fonts/ --- Font files copied via Gulp tasks img/ --- Source image files before optimization js/ --- Custom CSS files append to each site uploads/ --- Default directory of upload files, where permission should set as writable gulpfile.js/ --- Task runner following gulp-starter 2.0 practice sql/ --- MySQL files igocore/ --- Ignition Go core files igocore/system/ --- CodeIgniter core files (clean CI3 installation with modifications only to reference IGO core)
يتم تضمين تكوين gulp ( gulpfile.js ). ويستخدم أدوات الحزمة والمكونات من هذه المواقع:
NPMnode.js: مدير الحزم لوحدات العقدة
الغزل: مدير الحزم
GulpJS gulp: مشغل المهام للتجميع والدمج والتصغير
Guzzle guzzle: متكامل للاستخدام كعميل REST أو لعمليات التجعيد المعقدة
يرجى الاتصال بنا للمساهمة.
شكر خاص لمشروع Bonfire وأولئك الذين ساهموا فيه - تم استلهام العديد من الميزات ومفاهيم البنية التحتية أو دمجها بشكل مباشر من هذا المشروع. شكرًا أيضًا لجميع المشاريع مثل GuzzlePHP وعدد لا يحصى من المشاريع الأخرى مفتوحة المصدر، والتي تم دمج مكوناتها والسماح لهذه المبادرة بالوجود. أخيرًا، شكرًا بشكل خاص لفريق CodeIgniter، الذي تواصل CodeIgniter معه الازدهار!