Phalcon प्रोजेक्ट बनाएं और चलाएँ
Phalcon क्या है?
Phalcon एक ओपन-सोर्स, उच्च-प्रदर्शन PHP वेब फ्रेमवर्क है, जिसे C एक्सटेंशन के रूप में लागू किया गया है। इसकी अनूठी कार्यान्वयन शैली के कारण Phalcon बेहद कम संसाधन लेता है और ग़जब की स्पीड देता है, जो पारंपरिक PHP फ्रेमवर्क्स से कहीं बेहतर है। Phalcon MVC (मॉडल-व्यू-कंट्रोलर) आर्किटेक्चर को फॉलो करता है और ORM, टेम्प्लेट इंजन, रूटिंग, कैशिंग, इवेंट मैनेजर जैसी कई फीचर्स के साथ आता है, जिससे डेवलपर्स तीव्र और शक्तिशाली वेब ऐप्स व API जल्दी बना सकते हैं।
Phalcon के मुख्य फ़ीचर्स और लाभ
- अतुलनीय प्रदर्शन: C एक्सटेंशन के तौर पर चलाने से PHP स्क्रिप्ट पार्सिंग और लोडिंग का ओवरहेड नहीं होता—नतीजतन नेटिव-लेवल का परफॉर्मेंस मिलता है।
- संसाधन-कुशल: बेहद कम मेमोरी उपयोग—स्टीक high performance व स्केलेबिलिटी के प्रोजेक्ट्स हेतु आदर्श।
- व्यापक सुविधाएँ: अधिकांश मुख्य वेब डिवेलपमेंट कॉम्पोनेंट्स इन-बिल्ट, जिससे थर्ड-पार्टी डिपेंडेंसी कम रहती है।
- सरल प्रयोग: स्पष्ट व एकरूप API व विस्तृत डाक्यूमेंटेशन, नए यूज़र्स भी आसानी से सीख सकते हैं।
- हाईली डिकपल्ड: सभी कॉम्पोनेंट्स स्वतंत्र रूप से डिज़ाइन किए गए हैं—प्रोजेक्ट आवश्यकता अनुसार चुनें या रीप्लेस करें।
- सुरक्षा: इनपुट फ़िल्टरिंग, CSRF सुरक्षा आदि कई सिक्योरिटी फीचर्स मिलते हैं।
Phalcon तेज़, स्केलेबल और रिसोर्स-एफिशिएंट वेब ऐप्स और APIs बनाने के लिए आदर्श विकल्प है, विशेष रूप से जब स्पीड और संसाधन अनुकूलता की सख्त ज़रूरत हो।
ServBay के साथ Phalcon प्रोजेक्ट बनाएं और चलाएं
ServBay macOS के लिए डिजाइन किया गया लोकल वेब डिवेलपमेंट एनवायरनमेंट है, जिसमें PHP के कई वर्ज़न, डेटाबेस (MySQL, PostgreSQL, MongoDB, Redis) और वेब सर्वर (Caddy, Nginx, Apache) व अन्य डिवेलपर टूल्स शामिल हैं। ServBay के सहारे आप Phalcon प्रोजेक्ट के जरूरी रनटाइम एनवायरनमेंट बड़ी आसानी से सेट कर सकते हैं।
यह गाइड आपको ServBay PHP एनवायरनमेंट में एक सिंपल Phalcon प्रोजेक्ट बनाने, उसे वेब सर्वर से एक्सेस कराने, और MySQL (रिलेशनल) व Redis (NoSQL) डेटाबेस इंटीग्रेट करने के पूरी प्रक्रिया बताएगा।
आवश्यकताएँ (प्रेरेक स्थितियाँ)
शुरुआत से पहले, सुनिश्चित करें:
- ServBay इंस्टॉल व चालू है: आपके macOS सिस्टम पर ServBay सफलतापूर्वक इंस्टॉल और स्टार्ट हो।
- ज़रूरी PHP वर्शन चालू है: ServBay में जिस PHP वर्शन का प्रयोग करना है, वह enable हो।
- Phalcon मॉड्यूल चालू है: ServBay में Phalcon मॉड्यूल इनबिल्ट रहता है, पर डिफ़ॉल्ट रूप से enable नहीं हो सकता। ServBay के Phalcon मॉड्यूल इनेबल करें की गाइड फॉलो करें, सही PHP के लिए extension इनेबल करके 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 (आधिकारिक) | PHP 8.x पर ऑफ़िशियल DevTools में संगतता समस्याएँ आ सकती हैं। |
PHP 8.3, 8.4 | Phalcon 5.x | dev-master (फिक्स्ड क्म्युनिटी वर्शन) | बेहतर संगतता के लिए कम्युनिटी-फिक्स्ड वर्शन उपयोग करें। |
महत्वपूर्ण सूचना: PHP 8.x और उससे ऊपर के वर्शन पर आधिकारिक Phalcon DevTools ज़रूरी नहीं कि सही चले। बेहतर संगतता के लिए community द्वारा प्रदान फिक्स्ड वर्शन इस्तेमाल करें। आगे, प्रोजेक्ट क्रिएशन में Composer द्वारा फिक्स्ड DevTools तथा इसकी सेटिंग्स सुझाई गयी हैं।
Phalcon प्रोजेक्ट बनाना
अनुशंसित वेबसाइट लोकेशन
प्रोजेक्ट्स की आसान खोज-बीन और मैनेजमेंट के लिए, ServBay अनुशंसा करता है कि आपके सारे वेबसाइट प्रोजेक्ट /Applications/ServBay/www
डिफॉल्ट रूट डाइरेक्टरी में रहें। इस उदाहरण में भी यहीं प्रोजेक्ट बना रहे हैं।
साइट रूट में प्रोजेक्ट फोल्डर बनाएं
टर्मिनल खोलें, ServBay की वेबसाइट रूट
/Applications/ServBay/www
में जाएँ और एक नया फोल्डर बनाएँ (उदा.servbay-phalcon-app
):bashcd /Applications/ServBay/www mkdir servbay-phalcon-app cd servbay-phalcon-app
1
2
3Phalcon DevTools इंस्टॉल करें
Phalcon DevTools एक CLI टूलकिट है जो कोड जनरेशन, प्रोजेक्ट स्केलेटन, DB माइग्रेशन आदि में मदद करता है। Composer की सहायता से इसे इंस्टॉल करें; PHP वर्शन के अनुसार कमांड थोड़ा अलग रहेगा:
PHP 5.6, 7.0, 7.1 (DevTools
^3.4
):bashcomposer require phalcon/devtools:"^3.4"
1PHP 7.2, 7.3, 7.4 (DevTools
~4.1
):bashcomposer require phalcon/devtools:"~4.1"
1PHP 8.0+, (DevTools
dev-master
फिक्स्ड वर्शन): PHP 8.x वर्शन हेतु community-maintained फिक्स्ड DevTools के लिए अपने प्रोजेक्ट रूट (/Applications/ServBay/www/servbay-phalcon-app
) में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फिर DevTools इंस्टॉल के लिए Composer अपडेट चलाएँ:
bashcomposer update
1
इंस्टॉलेशन के बाद,
vendor/bin/phalcon
आपका DevTools executable रहेगा।Phalcon DevTools से प्रोजेक्ट स्केलेटन बनाएँ
DevTools कमांड द्वारा प्रोजेक्ट का बेसिक स्ट्रक्चर तैयार करें। प्रोजेक्ट को (डिफॉल्ट व्यवहार के अनुसार) एक सब-डायरेक्टरी में जनरेट किया जाएगा:
bashvendor/bin/phalcon project servbay-phalcon-app
1यह
/Applications/ServBay/www/servbay-phalcon-app/servbay-phalcon-app
सब-डायरेक्टरी में स्केलेटन बनाएगा।प्रोजेक्ट कोड डायरेक्टरी में जाएँ
नई बनी डायरेक्टरी पर जाएँ, आगे की सारी कार्रवाई इसी में होगी:
bashcd servbay-phalcon-app
1अब आपका पाथ
/Applications/ServBay/www/servbay-phalcon-app/servbay-phalcon-app
होगा।
प्रोजेक्ट एनवायरनमेंट कॉन्फ़िगर करें
Phalcon प्रोजेक्ट्स की मुख्य सेटिंग्स app/config/config.php
में रहती हैं। इसमें आपको DB कनेक्शन व जरूरी रास्ते एडजस्ट करने होंगे।
कॉन्फ़िग फाइल एडिट करें
अपने पसंदीदा एडिटर में
/Applications/ServBay/www/servbay-phalcon-app/servbay-phalcon-app/app/config/config.php
खोलें। DB कॉन्फ़िग सेक्शन ढूंढें या जोड़ें। ServBay का MySQL/MariaDB डिफॉल्ट यूज़रroot
है, पासवर्ड खाली रहता है—लेकिन सुरक्षा के लिए स्ट्रॉन्ग पासवर्ड सेट करें। उदाहरण के लिएpassword
सिर्फ placeholder है। डेटाबेसservbay_phalcon_app
उदाहरण हेतु है (आपको DB खुद बनाना पड़ेगा):phpreturn new \Phalcon\Config([ // ... अन्य सेटिंग्स ... 'database' => [ 'adapter' => 'Mysql', // या 'Postgres' 'host' => '127.0.0.1', 'username' => 'root', // ServBay डिफॉल्ट यूज़र 'password' => 'password', // <-- अपना DB पासवर्ड दें 'dbname' => 'servbay_phalcon_app', // <-- अपना डेटाबेस दें ], // ... अन्य सेटिंग्स ... ]);
1
2
3
4
5
6
7
8
9
10
11महत्वपूर्ण: सुनिश्चित करें कि ServBay में DB सर्विस (जैसे, MySQL या MariaDB) शुरू है और आपके यूज़र/पासवर्ड कॉन्फ़िग से मेल खाते हैं। डेटाबेस बनाना आपको Adminer या phpMyAdmin से करना पड़ेगा।
वेब सर्वर कॉन्फ़िगरेशन (ServBay साइट्स फीचर से)
ब्राउज़र में प्रोजेक्ट एक्सेस के लिए ServBay की वेबसाइट सेटिंग्स से वर्चुअल होस्ट जोड़ें जो आपके प्रोजेक्ट के public
डायरेक्टरी को पॉइंट करे।
- ServBay ऐप खोलें
- 'वेबसाइट' सेटिंग में जाएँ: मुख्य इंटरफ़ेस में 'वेबसाइट' विकल्प खोलें।
- नई वेबसाइट जोड़ें:
- नाम: उदारण स्वरूप
My First Phalcon Dev Site
। - डोमेन: जैसे
servbay-phalcon-test.local
(ServBay.local
को लोकल रिसॉल्व करता है)। - वेबसाइट प्रकार:
PHP
चुनें। - PHP वर्शन: वही PHP जहाँ Phalcon मॉड्यूल चालू किया हो।
- रूट डायरेक्टरी: प्रोजेक्ट की public डायरेक्टरी (
/Applications/ServBay/www/servbay-phalcon-app/servbay-phalcon-app/public
) चुने।
- नाम: उदारण स्वरूप
- सेटिंग सेव करें: सेव करने पर जरूरी वेब सर्वर (Caddy या Nginx) हेतु नई सेटिंग लागू होगी।
और अधिक विस्तृत चरणों के लिए पहली वेबसाइट जोड़ना देखें। सेव होते ही ServBay DNS व वेब सर्वर ऑटोमैटिक सेट कर देगा।
उदाहरण कोड जोड़ें
कुछ सिंपल कोड लिखें जिससे चेक हो सके कि सेटअप ठीक चल रहा है।
रूटिंग सेटअप करें
/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 के ज़रिए आपको शक्तिशाली DB abstraction Layer और ORM मिलता है। ServBay के भीतर कई डेटाबेस पहले से इंटीग्रेट हैं। यहाँ MySQL और Redis के उदाहरण देखेंगे।
रिलेशनल डेटाबेस: MySQL
Phalcon का DB adapter यूज़ कर MySQL कनेक्ट कर साधारण इंसर्शन और क्वेरी का example:
डेटाबेस स्ट्रक्चर बनाएँ (माइग्रेशन से)
Phalcon के DevTools माइग्रेशन के लिए बढ़िया CLI टूल्स देते हैं।
माइग्रेशन फाइल जनरेट करें: प्रोजेक्ट डायरेक्टरी में ये कमांड चलाएँ:
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नोट: क्लास नाम (
UsersMigration_100
) और माइग्रेशन फ़ाइल नाम एक जैसा रखें।माइग्रेशन रन करें: प्रोजेक्ट डायरेक्टरी में यह कमांड चलाएँ:
bashvendor/bin/phalcon migration run
1अगर कनेक्शन एरर हो, तो
app/config/config.php
में DB सेटिंग या ServBay में DB सर्विस स्टेटस चेक करें।
डेटाबेस कनेक्शन सेटिंग (पहले ही हो चुका है)
app/config/config.php
फाइल के'database'
सेक्शन में सही DB इंफ़ोर्मेशन होना चाहिए।उदाहरण रूट जोड़ें
app/config/routes.php
में DB इंसर्शन और क्वेरी के लिए नए रूट डालें: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कंट्रोलर में DB क्रिया जोड़ें
app/controllers/IndexController.php
फाइल मेंmysqlAddAction
औरmysqlAction
मैथड्स डालें, जो डायरेक्ट DB कनेक्शन यूज़ करें:php<?php namespace App\Controllers; use Phalcon\Mvc\Controller; use Phalcon\Db\Adapter\Pdo\Mysql; // MySQL डेटा एडाप्टर use Phalcon\Db\Enum; // fetchAll के लिए मोड 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', // <-- अपने DB पासवर्ड डालें 'dbname' => 'servbay_phalcon_app', 'charset' => 'utf8mb4', ]); // एक सिंपल यूज़र इनसर्ट $success = $connection->insert( 'users', ['ServBay Demo User', '[email protected]'], ['name', 'email'] ); echo $success ? 'User added successfully.' : 'Failed to add user.'; } // यूज़र लिस्ट दिखाना public function mysqlAction() { // कनेक्शन पाएं $connection = new Mysql([ 'host' => '127.0.0.1', 'username' => 'root', 'password' => 'password', // <-- DB पासवर्ड दें 'dbname' => 'servbay_phalcon_app', 'charset' => 'utf8mb4', ]); // सारे यूज़र निकालें $users = $connection->fetchAll('SELECT * FROM users', Enum::FETCH_ASSOC); // JSON रूप में आउटपुट दें 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
52
53
54
55
56नोट: प्रैक्टिकल ऐप्स में DB कनेक्शन DI सर्विस में सेट करें, हर बार new न बनाएँ।
उदाहरण एक्सेस करें
- ब्राउज़र में
https://servbay-phalcon-test.local/mysql-add
खोलें—सफल होने पर "User added successfully." मिलेगा। - फिर
https://servbay-phalcon-test.local/mysql
खोलें—यह आपकोusers
टेबल की JSON लिस्ट देगा।
- ब्राउज़र में
NoSQL डेटाबेस: Redis
Phalcon प्रोजेक्ट में ServBay Redis सेवा का उपयोग करके कैशिंग कैसे जोड़ें, जानें।
Redis एक्सटेंशन इंस्टालेशन
ServBay में प्रायः PHP Redis एक्सटेंशन इनबिल्ट रहता है—सिर्फ सेवाएँ चालू हों और आपके PHP वर्शन में Redis एक्सटेंशन enabled हो, यह निश्चित करें।
Redis कनेक्शन सेटिंग
app/config/config.php
में कैश सेक्शन डालें। ServBay Redis सामान्यतः127.0.0.1:6379
पर चलता है:phpreturn new \Phalcon\Config([ // ... अन्य सेटिंग्स ... 'cache' => [ 'adapter' => 'Redis', 'host' => '127.0.0.1', 'port' => 6379, 'index' => 0, // डिफॉल्ट Redis DB 'persistent' => false, 'auth' => null, // अगर Redis में पासवर्ड लगा हो, यहाँ भरें ], // ... अन्य सेटिंग्स ... ]);
1
2
3
4
5
6
7
8
9
10
11
12रूट जोड़ें
app/config/routes.php
में Redis डेमो हेतु नया रूट डालें: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 कैश उपयोग करें
app/controllers/IndexController.php
में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; // Redis कैश एडाप्टर use Phalcon\Storage\SerializerFactory; // Serializer फैक्ट्री class IndexController extends Controller { public function indexAction() { return 'Hello ServBay!'; } public function mysqlAddAction() { $connection = new Mysql([/* ... */]); $success = $connection->insert(/* ... */); echo $success ? 'User added successfully.' : 'Failed to add user.'; } 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() { // Serializer फैक्ट्री ऑब्जेक्ट बनाएँ $serializerFactory = new SerializerFactory(); // Redis कैश ऑप्शन सेट करें // नोट: यह सेटिंग config.php के 'cache' से मेल खाए $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 "Data not found in cache, fetching from source..."; $cachedData = 'Data fetched from source: Hello Redis from ServBay!'; $cache->set($cacheKey, $cachedData); // कैश करें echo "Data stored in cache."; } else { // कैश मिल गया echo "Data found in cache: "; } // कैश या नया डेटा लौटाएँ 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
69नोट: वास्तव में कैशिंग सर्विस को कॉन्फ़िग DI कंटेनर में सर्विस के रूप में करना बेहतर है।
डेमो विज़िट करें
ब्राउज़र में
https://servbay-phalcon-test.local/redis
खोलें।- पहली बार—"Data not found in cache, fetching from source...Data stored in cache." और
"Data fetched from source: Hello Redis from ServBay!"
मिलेगा। - दुबारा उसी अवधि में खोलने पर—"Data found in cache: " और
"Data fetched from source: Hello Redis from ServBay!"
मिलेगा, जो दर्शाता है कि डेटा Redis कैश से आया।
- पहली बार—"Data not found in cache, fetching from source...Data stored in cache." और
सामान्य प्रश्न
- Q: वेबसाइट ओपन करते 404 Not Found मिलता है?
- A: वेबसाइट सेटिंग्स में "रूट डायरेक्टरी" सच में प्रोजेक्ट की
public
डायरेक्टरी (/Applications/ServBay/www/servbay-phalcon-app/servbay-phalcon-app/public
) पर पॉइंट हो; Web Server (Caddy/Nginx) चालू हो; डोमेन लोकल रिजॉल्व हो।
- A: वेबसाइट सेटिंग्स में "रूट डायरेक्टरी" सच में प्रोजेक्ट की
- Q: Phalcon मॉड्यूल एरर (Class 'Phalcon\Mvc\Application' not found) आ रहा है?
- A: आपके PHP वर्शन में Phalcon एक्सटेंशन इनेबल नहीं है। ServBay की GUI में जाएँ, PHP वर्शन में Phalcon एक्सटेंशन इनेबल कर PHP सर्वर रीस्टार्ट करें। Phalcon मॉड्यूल इनेबल करने की गाइड देखें।
- Q: DB कनेक्शन एरर?
- A:
app/config/config.php
में डेटाबेस कॉन्फ़िग (होस्ट, यूजर, पासवर्ड, DB नेम) सही है या नहीं जाँचें। ServBay में DB सर्विस चालू हो। यूज़र को ऐक्सेस व DB बना हो, यह देखें।
- A:
निष्कर्ष
ServBay के जरिए आप Phalcon फ्रेमवर्क के लिए उच्च-प्रदर्शन लोकल एनवायरनमेंट बेहद सरलता से बना सकते हैं। यह गाइड प्रोजेक्ट स्केलेटन बनाने, वेब सर्वर सेटअप, MySQL और Redis डेटाबेस जोड़ने तक के बेसिक स्टेप्स कवर करता है। ServBay के एकीकृत टूल्स और आसान GUI से लोकल डेवेलपमेंट ना सिर्फ़ तेज़ है, बल्कि कॉन्फ़िगरेशन का झंझट भी कम! उम्मीद है, इस गाइड से आप ServBay और Phalcon का उपयोग कर वेब डेवेलपमेंट का सफर शानदार शुरुआत करेंगे।