إنشاء وتشغيل مشروع Phalcon
ما هو Phalcon؟
Phalcon هو إطار عمل ويب مفتوح المصدر وعالي الأداء للغة PHP، تم تطويره كامتداد بلغة C. بفضل هذا الأسلوب الفريد، يتمتع Phalcon باستهلاك منخفض جدًا للموارد وسرعة تنفيذ فائقة مقارنة بمعظم أطر عمل PHP التقليدية. يتبع Phalcon نمط هندسة MVC (نموذج-عرض-تحكم)، ويوفر مجموعة غنية من المكونات مثل ORM (رسم الخرائط الكائنية للعلاقات)، محرك القوالب، التوجيه، التخزين المؤقت، ومدير الأحداث، مما يساعد المطورين على بناء تطبيقات ويب وواجهات API قوية وعالية الأداء بسرعة.
المزايا والخصائص الرئيسية لإطار Phalcon
- أداء مذهل: يعمل كامتداد بلغة C، ما يقلل من عبء تحليل وتحميل السكريبتات ويوفر أداءً بمستوى الأصلي.
- كفاءة في الموارد: يستهلك ذاكرة منخفضة للغاية، مناسب للتطبيقات التي تتطلب أداء ومرونة عالية.
- وظائف متكاملة: يتضمن معظم المكونات الأساسية اللازمة لتطوير تطبيقات الويب، ويقلل الاعتماد على مكتبات خارجية.
- سهولة الاستخدام: يوفر واجهات برمجة تطبيقات واضحة ومتسقة مع وثائق غنية، ليسهل على المبتدئين تعلمه بسرعة.
- تفكيك عالي: مصمم بمكونات مستقلة تسمح للمطور باختيار واستبدال المكونات حسب الحاجة.
- الأمان: يحتوي على مكونات أمنية مهمة مثل تصفية المدخلات، حماية CSRF وغيرها.
Phalcon هو الخيار الأمثل لتطوير تطبيقات ويب وواجهات API عالية الأداء وقابلة للتوسع، خاصة للمشاريع التي تتطلب سرعة وكفاءة في استخدام الموارد.
استخدام ServBay لإنشاء وتشغيل مشروع Phalcon
ServBay هو بيئة تطوير ويب محلية مصممة خصيصًا لنظام macOS، تدمج عدة إصدارات من PHP وقواعد بيانات مثل MySQL و PostgreSQL و MongoDB و Redis، بالإضافة إلى خوادم ويب مثل Caddy و Nginx و Apache وأدوات المطور الأخرى. باستخدام ServBay، يمكنك إعداد وإدارة بيئة تشغيل مشروع Phalcon بسهولة.
يرشدك هذا الدليل إلى كيفية استخدام بيئة PHP في ServBay لإنشاء مشروع Phalcon أساسي، ضبط خادم الويب لجعله متاحًا، واستعراض كيفية دمج قاعدة بيانات علائقية (MySQL) وقاعدة بيانات NoSQL (Redis).
المتطلبات الأولية
قبل البدء، تأكد من توفر الشروط التالية:
- تنصيب ServBay وتشغيله: تأكد من تثبيت ServBay بنجاح على نظام macOS وتشغيله.
- تفعيل إصدار PHP المطلوب: في ServBay، تأكد من تفعيل إصدار PHP الذي ستستخدمه.
- تفعيل وحدة Phalcon: يحتوي ServBay على وحدة Phalcon مدمجة، لكنها قد لا تكون مفعلة افتراضيًا. يجب اتباع تعليمات كيفية تفعيل وحدة Phalcon في ServBay لتفعيل الامتداد المناسب لإصدار PHP وإعادة تشغيل خدمة PHP.
- توفر Composer: ServBay يشمل Composer مسبقًا، لذا لا تحتاج لتثبيته منفردًا. تأكد من أنه يمكنك استخدام أمر
composer
مباشرة في الطرفية.
إصدارات Phalcon و DevTools المختلفة
يجب أن يكون إصدار إطار Phalcon وأدوات التطوير الخاصة به (Phalcon DevTools) متوافقًا مع إصدار PHP المستخدم. الجدول التالي يلخص العلاقة بين إصدارات PHP وإصدارات Phalcon و DevTools الموصى بها:
إصدار PHP | إصدار Phalcon الموصى به | إصدار Phalcon DevTools الموصى به | ملاحظات |
---|---|---|---|
PHP 5.6, 7.0, 7.1 | Phalcon 3.4.5 | 3.4.x | |
PHP 7.2, 7.3, 7.4 | Phalcon 4.1.2 | ~4.1 (أو 4.3.x ) | |
PHP 8.0, 8.1, 8.2 | Phalcon 5.x | 5.0.x (رسمي) | قد تحدث مشاكل توافق مع DevTools الرسمية على PHP 8.x. |
PHP 8.3, 8.4 | Phalcon 5.x | dev-master (نسخة مصححة مجتمعياً) | يفضل استخدام النسخة المصححة التي توفرها المجتمعات لأفضل توافق. |
ملاحظة هامة: لإصدارات PHP 8.x وما فوق، قد تكون أدوات التطوير الرسمية غير متوافقة بشكل جيد. يوصى باستخدام النسخة المصححة المتوفرة من المجتمع، وسيتضمن الشرح لاحقًا طريقة التثبيت بواسطة Composer.
إنشاء مشروع Phalcon
توصية بمسار حفظ المواقع
لتسهيل الإدارة، يوصي ServBay بحفظ جميع مشاريع المواقع في المسار الافتراضي لجذر المواقع /Applications/ServBay/www
. سيتم إنشاء المشروع التالي في هذا المسار.
الدخول إلى جذر المواقع وإنشاء مجلد للمشروع
افتح الطرفية وادخل إلى جذر مواقع ServBay، ثم أنشئ مجلدًا جديدًا لمشروعك (مثلاً
servbay-phalcon-app
):bashcd /Applications/ServBay/www mkdir servbay-phalcon-app cd servbay-phalcon-app
1
2
3تثبيت Phalcon DevTools
أدوات Phalcon DevTools هي مجموعة أوامر طرفية تساعد المطور على توليد الكود وتهيئة هيكل المشروع وإدارة ترحيلات قواعد البيانات وغيرها. يمكن تثبيتها بواسطة Composer حسب إصدار PHP المستخدم:
لإصدارات PHP 5.6, 7.0, 7.1 (Phalcon DevTools
^3.4
):bashcomposer require phalcon/devtools:"^3.4"
1لإصدارات PHP 7.2, 7.3, 7.4 (Phalcon DevTools
~4.1
):bashcomposer require phalcon/devtools:"~4.1"
1لإصدارات PHP 8.0 حتى 8.4 (Phalcon DevTools
dev-master
النسخة المصححة): بسبب مشاكل التوافق مع النسخة الرسمية، استعن بالنسخة المصححة المجتمعية. أنشئ أو عدل ملفcomposer.json
في مجلد المشروع وأضف التالي:json{ "repositories": [ { "url": "https://github.com/daleffe/phalcon-devtools-5.x-fixed.git", "type": "git" } ], "require": { "phalcon/devtools": "dev-master" }, "minimum-stability": "dev", "prefer-stable": true }
1
2
3
4
5
6
7
8
9
10
11
12
13ثم نفذ تحديث Composer:
bashcomposer update
1
سينشئ Composer مجلد
vendor
في المشروع ويضع ملف أدوات DevTools فيvendor/bin/phalcon
.إنشاء القالب الهيكلي للمشروع بواسطة DevTools
استخدم الأمر التالي لتوليد هيكل مشروع Phalcon الأساسي في مجلد فرعي (افتراضيًا سيحمل نفس اسم المشروع):
bashvendor/bin/phalcon project servbay-phalcon-app
1سينشئ هذا الأمر مجلدًا فرعيًا جديدًا باسم
servbay-phalcon-app
داخل المشروع ويضع فيه هيكل مشروع Phalcon الكامل.الدخول إلى مجلد كود المشروع
ادخل لمجلد الكود الجديد لاستكمال العمليات القادمة:
bashcd servbay-phalcon-app
1يجب أن تكون الآن في المسار
/Applications/ServBay/www/servbay-phalcon-app/servbay-phalcon-app
.
ضبط إعدادات المشروع
عادة تتم إعدادات مشروع Phalcon في ملف app/config/config.php
. يجب ضبط معلومات الاتصال بقاعدة البيانات ومسارات التطبيق فيه.
تعديل ملف الإعدادات
افتح ملف
/Applications/ServBay/www/servbay-phalcon-app/servbay-phalcon-app/app/config/config.php
وأضف أو عدل جزء إعداد قاعدة البيانات. مستخدم MySQL/MariaDB الافتراضي هوroot
وبلا كلمة مرور، لكن لأسباب أمنية يجب وضع كلمة مرور قوية. استخدم اسم قاعدة البياناتservbay_phalcon_app
كمثال (وقد تحتاج لإنشائها يدوياً):phpreturn new \Phalcon\Config([ // ... إعدادات أخرى ... 'database' => [ 'adapter' => 'Mysql', 'host' => '127.0.0.1', 'username' => 'root', 'password' => 'password', // <-- عدلها لكلمة مرورك 'dbname' => 'servbay_phalcon_app', // <-- عدل اسم قاعدة البيانات ], // ... إعدادات أخرى ... ]);
1
2
3
4
5
6
7
8
9
10
11مهم: تأكد من تشغيل خدمة قاعدة البيانات المناسبة (MySQL أو MariaDB) في ServBay، وأن المستخدم وكلمة المرور مطابقان للإعدادات. أنشئ قاعدة البيانات يدويًا من خلال أدوات مثل phpMyAdmin أو Adminer المدمجة مع ServBay.
ضبط خادم الويب (باستخدام ميزة المواقع في ServBay)
لتتمكن من تصفح مشروعك عبر المتصفح، استخدم ميزة المواقع في ServBay لإنشاء موقع افتراضي يشير إلى مجلد المشروع القابل للعرض.
- افتح تطبيق ServBay
- انتقل إلى إعدادات "المواقع": ابحث عن خيار "المواقع" في الواجهة الرئيسية.
- أضف موقع جديد:
- الاسم: أدخل اسمًا يسهل التعرف عليه مثل
My First Phalcon Dev Site
. - النطاق: ضع النطاق الذي تود زيارته عبر المتصفح مثل
servbay-phalcon-test.local
. سيقوم ServBay بتوجيه نطاقات.local
تلقائيًا للمحلي. - نوع الموقع: اختر
PHP
. - إصدار PHP: اختر إصدار PHP الذي فعّلت عليه وحدة Phalcon.
- جذر الموقع: مفتاح الإعدادات، يجب أن تشير إلى مجلد
public
في مشروع Phalcon:/Applications/ServBay/www/servbay-phalcon-app/servbay-phalcon-app/public
.
- الاسم: أدخل اسمًا يسهل التعرف عليه مثل
- احفظ الإعدادات: بعد الحفظ، سيقوم ServBay بتطبيق التغييرات (قد يحتاج لإعادة تشغيل خادم الويب Caddy أو Nginx).
للمزيد حول هذه الخطوات راجع إضافة أول موقع. سيقوم ServBay تلقائيًا بتعديل إعدادات الخادم المحلي وأسماء النطاقات.
إضافة كود تجريبي
لنتأكد من أن المشروع يعمل، أضف بعض الكود البسيط.
إعداد التوجيهات
عدل ملف
/Applications/ServBay/www/servbay-phalcon-app/servbay-phalcon-app/app/config/routes.php
لإضافة مسار بسيط يعالج الطلبات على جذر الموقع/
:php<?php use Phalcon\Mvc\Router; $router = new Router(false); // تعريف التوجيه الافتراضي لمسار "/" ليشير إلى IndexController و indexAction $router->add( '/', [ 'controller' => 'index', 'action' => 'index', ] ); // ... يمكنك إضافة توجيهات أخرى ... $router->handle($_SERVER['REQUEST_URI']); return $router;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19إنشاء وحدة التحكم
أنشئ أو عدل ملف
/Applications/ServBay/www/servbay-phalcon-app/servbay-phalcon-app/app/controllers/IndexController.php
وأضف دالةindexAction
بسيطة:php<?php namespace App\Controllers; // تأكد من صحة نطاق الأسماء use Phalcon\Mvc\Controller; class IndexController extends Controller { // معالجة الطلبات لمسار "/" public function indexAction() { // استرجاع نص بسيط كرد على الطلب return 'Hello ServBay!'; } }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
زيارة الموقع
بعد حفظ الملفات، تأكد من تشغيل ServBay. افتح المتصفح وقم بزيارة النطاق الذي ضبطته:
https://servbay-phalcon-test.local
إذا كانت الإعدادات صحيحة، سترى الرسالة Hello ServBay!
تظهر في متصفحك.
دمج قاعدة البيانات
يوفر Phalcon طبقة تجريدية وORM قوي لقواعد البيانات، ويدعم ServBay عدة أنواع قواعد بيانات. سنستعرض أمثلة مع MySQL و Redis.
مثال قاعدة بيانات علائقية: MySQL
سنوضح كيفية استخدام محول قاعدة بيانات Phalcon للاتصال بـ MySQL في ServBay وإجراء عمليات إدخال واستعلام بسيطة.
إنشاء هيكل قاعدة البيانات (باستخدام الترحيلات)
تدعم أدوات DevTools ميزة ترحيلات قواعد البيانات.
إنشاء ملف ترحيل: في مجلد كود المشروع (
/Applications/ServBay/www/servbay-phalcon-app/servbay-phalcon-app
) نفذ الأمر:bashvendor/bin/phalcon migration generate
1سينتج ملف ترحيل جديد في مجلد
migrations
باسم يشبهYYYYMMDDHHMMSS_MigrationName.php
.تعديل ملف الترحيل: عدل دالة
morph
لتعريف جدولusers
كالتالي:php<?php use Phalcon\Db\Column; use Phalcon\Db\Index; use Phalcon\Migrations\Mvc\Model\Migration; /** * Class UsersMigration_100 */ class UsersMigration_100 extends Migration { /** * تنفيذ الترحيل * * @return void */ public function morph() { $this->morphTable('users', [ 'columns' => [ new Column( 'id', [ 'type' => Column::TYPE_INTEGER, 'autoIncrement' => true, 'notNull' => true, 'primary' => true, ] ), new Column( 'name', [ 'type' => Column::TYPE_VARCHAR, 'size' => 255, 'notNull' => true, ] ), new Column( 'email', [ 'type' => Column::TYPE_VARCHAR, 'size' => 255, 'notNull' => true, 'unique' => true, ] ), ], 'indexes' => [ new Index('PRIMARY', ['id'], 'PRIMARY'), new Index('email_UNIQUE', ['email'], 'UNIQUE'), ], 'options' => [ 'TABLE_ENGINE' => 'InnoDB', 'CHARACTER SET' => 'utf8mb4', 'COLLATE' => 'utf8mb4_unicode_ci', ], ]); } /** * عكس الترحيل * * @return void */ public function down() { // اختياري: يمكن تطبيق عمليات التراجع مثل حذف الجدول // $this->getConnection()->dropTable('users'); } }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70ملاحظة: استخدم اسم صنف متوافق مع اسم ملف الترحيل.
تشغيل الترحيل: نفذ الأمر التالي في مجلد كود المشروع لإنشاء جدول
users
:bashvendor/bin/phalcon migration run
1إذا ظهرت أخطاء الاتصال، تحقق من إعدادات قاعدة البيانات ومن تشغيل الخدمة في ServBay.
ضبط الاتصال بقاعدة البيانات (تم مسبقًا)
تأكد من صحة إعدادات
'database'
في ملفapp/config/config.php
.إضافة توجيهات تجريبية
عدل ملف
app/config/routes.php
لإضافة مسارات لإدخال واستعلام المستخدمين:php<?php use Phalcon\Mvc\Router; $router = new Router(false); $router->add('/', [ 'controller' => 'index', 'action' => 'index', ]); // مسار لإدخال مستخدم جديد $router->add( '/mysql-add', [ 'controller' => 'index', 'action' => 'mysqlAdd', ] ); // مسار لاستعلام المستخدمين $router->add( '/mysql', [ 'controller' => 'index', 'action' => 'mysql', ] ); $router->handle($_SERVER['REQUEST_URI']); return $router;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31تنفيذ عمليات قاعدة البيانات في وحدة التحكم
عدل ملف
app/controllers/IndexController.php
وأضف دالتيmysqlAddAction
وmysqlAction
:php<?php namespace App\Controllers; use Phalcon\Mvc\Controller; use Phalcon\Db\Adapter\Pdo\Mysql; use Phalcon\Db\Enum; class IndexController extends Controller { public function indexAction() { return 'Hello ServBay!'; } // إدخال مستخدم جديد public function mysqlAddAction() { $connection = new Mysql([ 'host' => '127.0.0.1', 'username' => 'root', 'password' => 'password', // <-- عدل لكلمة مرورك 'dbname' => 'servbay_phalcon_app', 'charset' => 'utf8mb4', ]); $success = $connection->insert( 'users', ['ServBay Demo User', 'demo@servbay.test'], ['name', 'email'] ); echo $success ? 'تم إضافة المستخدم بنجاح.' : 'فشل في إضافة المستخدم.'; } // استعلام المستخدمين public function mysqlAction() { $connection = new Mysql([ 'host' => '127.0.0.1', 'username' => 'root', 'password' => 'password', // <-- عدل لكلمة مرورك 'dbname' => 'servbay_phalcon_app', 'charset' => 'utf8mb4', ]); $users = $connection->fetchAll('SELECT * FROM users', Enum::FETCH_ASSOC); header('Content-Type: application/json'); echo json_encode($users); } }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51ملاحظة: من الأفضل عبر التطبيقات الحقيقية ضبط الاتصال كخدمة في الحاوية واستخدام حقن التبعيات بدل الإنشاء المتكرر.
زيارة الأمثلة
- زر
https://servbay-phalcon-test.local/mysql-add
في متصفحك، وسترى "تم إضافة المستخدم بنجاح." - ثم زر
https://servbay-phalcon-test.local/mysql
لمشاهدة بيانات جدولusers
بتنسيق JSON.
- زر
مثال قاعدة بيانات NoSQL: Redis
سنوضح كيفية استخدام خدمة Redis المدمجة مع ServBay للتخزين المؤقت.
تثبيت امتداد Redis
تشمل حزم ServBay PHP عادة امتداد Redis، ولا حاجة لتثبيته يدويًا. تأكد من تفعيل الامتداد في إعدادات إصدار PHP المستخدم.
ضبط الاتصال بـ Redis
أضف إعدادات الاتصال بـ Redis في
app/config/config.php
. خدمة Redis في ServBay تعمل عادة على127.0.0.1:6379
.phpreturn new \Phalcon\Config([ // ... إعدادات أخرى ... 'cache' => [ 'adapter' => 'Redis', 'host' => '127.0.0.1', 'port' => 6379, 'index' => 0, 'persistent' => false, 'auth' => null, ], // ... إعدادات أخرى ... ]);
1
2
3
4
5
6
7
8
9
10
11
12إضافة توجيه تجريبي
أضف توجيه جديد للعرض التجريبي للتخزين المؤقت في
app/config/routes.php
:php<?php use Phalcon\Mvc\Router; $router = new Router(false); $router->add('/', [ 'controller' => 'index', 'action' => 'index', ]); $router->add('/mysql-add', [ 'controller' => 'index', 'action' => 'mysqlAdd', ]); $router->add('/mysql', [ 'controller' => 'index', 'action' => 'mysql', ]); // توجيه العرض التجريبي لـ Redis $router->add( '/redis', [ 'controller' => 'index', 'action' => 'redis', ] ); $router->handle($_SERVER['REQUEST_URI']); return $router;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32استخدام التخزين المؤقت Redis في وحدة التحكم
أضف دالة
redisAction
في ملف وحدة التحكم:php<?php namespace App\Controllers; use Phalcon\Mvc\Controller; use Phalcon\Db\Adapter\Pdo\Mysql; use Phalcon\Db\Enum; use Phalcon\Cache\Adapter\Redis; use Phalcon\Storage\SerializerFactory; class IndexController extends Controller { public function indexAction() { return 'Hello ServBay!'; } public function mysqlAddAction() { $connection = new Mysql([/* ... */]); $success = $connection->insert(/* ... */); echo $success ? 'تم إضافة المستخدم بنجاح.' : 'فشل في إضافة المستخدم.'; } public function mysqlAction() { $connection = new Mysql([/* ... */]); $users = $connection->fetchAll('SELECT * FROM users', Enum::FETCH_ASSOC); header('Content-Type: application/json'); echo json_encode($users); } // مثال تخزين مؤقت Redis public function redisAction() { // إنشاء مثيل مصنع التسلسلات $serializerFactory = new SerializerFactory(); // إعداد خيارات Redis $options = [ 'defaultSerializer' => 'Json', 'lifetime' => 3600, 'host' => '127.0.0.1', 'port' => 6379, 'index' => 0, // 'auth' => 'your_redis_password', ]; // إنشاء مثيل محول Redis $cache = new Redis($serializerFactory, $options); $cacheKey = 'my_servbay_redis_cache_key'; $cachedData = $cache->get($cacheKey); if ($cachedData === null) { // إذا لم توجد بيانات في التخزين المؤقت echo "لم يتم العثور على البيانات في التخزين المؤقت، جاري جلبها من المصدر..."; $cachedData = 'تم جلب البيانات من المصدر: مرحباً Redis من ServBay!'; $cache->set($cacheKey, $cachedData); echo "تم حفظ البيانات في التخزين المؤقت."; } else { // توجد بيانات في التخزين المؤقت echo "تم العثور على البيانات في التخزين المؤقت: "; } // إرجاع البيانات return $cachedData; } }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68ملاحظة: يفضل ضبط التخزين المؤقت كخدمة في الحاوية لسهولة الوصول من جميع أنحاء التطبيق.
زيارة المثال
افتح
https://servbay-phalcon-test.local/redis
في المتصفح.- في أول زيارة سترى "لم يتم العثور على البيانات في التخزين المؤقت، جاري جلبها من المصدر...تم حفظ البيانات في التخزين المؤقت." مع "تم جلب البيانات من المصدر: مرحباً Redis من ServBay!".
- في الزيارات التالية خلال فترة فعالية التخزين سترى "تم العثور على البيانات في التخزين المؤقت: " و"تم جلب البيانات من المصدر: مرحباً Redis من ServBay!".
الأسئلة الشائعة (FAQ)
- س: تظهر لي خطأ 404 عند زيارة الموقع، ماذا أفعل؟
- ج: تأكد أن "جذر الموقع" المخزن في إعدادات ServBay يشير لمجلد
public
الخاص بمشروع Phalcon (/Applications/ServBay/www/servbay-phalcon-app/servbay-phalcon-app/public
). وتأكد من تشغيل خادم الويب (Caddy أو Nginx) ونجاح توجيه النطاق.
- ج: تأكد أن "جذر الموقع" المخزن في إعدادات ServBay يشير لمجلد
- س: تظهر رسالة خطأ بعدم وجود وحدة Phalcon (مثل Class 'Phalcon\Mvc\Application' not found)؟
- ج: عادة يدل ذلك على عدم تفعيل امتداد Phalcon لإصدار PHP المستخدم. عد إلى إعدادات ServBay، فعل الامتداد، وأعد تشغيل خدمة PHP. راجع كيفية تفعيل وحدة Phalcon في ServBay.
- س: فشل الاتصال بقاعدة البيانات؟
- ج: تحقق من إعدادات الاتصال في
app/config/config.php
(المضيف، اسم المستخدم، كلمة المرور، اسم قاعدة البيانات)، ومن تشغيل خدمة MySQL/MariaDB في ServBay، ووجود صلاحيات للمستخدم والقاعدة.
- ج: تحقق من إعدادات الاتصال في
ملخص
بواسطة ServBay، يمكنك بسهولة تجهيز بيئة تطوير محلية قوية لإطار عمل Phalcon. يستعرض هذا الدليل مراحل إنشاء هيكل المشروع، ضبط خادم الويب، دمج قواعد بيانات MySQL وRedis، مستفيدًا من الأدوات والإعدادات المتكاملة. يُسهل ServBay عمليات الإدارة والتشغيل، لتمنحك الوقت والتركيز على تطوير تطبيقاتك بأداء وكفاءة عالية. نأمل أن يساعدك هذا الدليل في بدء رحلتك مع ServBay وPhalcon لتطوير تطبيقات ويب احترافية!