حالة:
إطار عمل بناء التطبيقات المعياري (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 معه الازدهار!