HI हिन्दी
版本: v2.3.0

अन्य ढाँचों के साथ सहयोग

Medoo को अन्य PHP फ्रेमवर्क के साथ आसानी से एकीकृत किया जा सकता है। अधिकांश अनुप्रयोगों में, अनुशंसित दृष्टिकोण Medoo को फ्रेमवर्क के सर्विस कंटेनर या निर्भरता इंजेक्शन कंटेनर में एक साझा सेवा के रूप में पंजीकृत करना है। यह अनावश्यक अतिरिक्त कनेक्शन बनाए बिना पूरे एप्लिकेशन में समान डेटाबेस इंस्टेंस का पुन: उपयोग करने की अनुमति देता है।
यदि आपका ढांचा एक अंतर्निहित कंटेनर या सेवा पंजीकरण तंत्र प्रदान करता है, तो वहां Medoo पंजीकृत करने की अनुशंसा की जाती है। अधिक विवरण के लिए, तृतीय-पक्ष पुस्तकालयों को एकीकृत करने के लिए अपने ढांचे के आधिकारिक दस्तावेज़ देखें।

Laravel

आधुनिक Laravel (उदाहरण के लिए Laravel 10/11) में, अनुशंसित दृष्टिकोण एक सेवा प्रदाता में Medoo को बाइंड करना और इसे कंटेनर से क्लास नाम से हल करना है।
पंजीकरण Medoo
namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use Medoo\Medoo;

class MedooServiceProvider extends ServiceProvider
{
	public function register(): void
	{
		$this->app->singleton(Medoo::class, function () {
			return new Medoo([
				'type' => 'mysql',
				'host' => config('database.connections.mysql.host'),
				'database' => config('database.connections.mysql.database'),
				'username' => config('database.connections.mysql.username'),
				'password' => config('database.connections.mysql.password')
			]);
		});
	}
}
यदि आप Laravel 11 में एक समर्पित प्रदाता बनाते हैं, तो इसे bootstrap/providers.php में जोड़ें।
return [
	App\Providers\AppServiceProvider::class,
	App\Providers\MedooServiceProvider::class,
];
Medoo तक पहुंच
पंजीकरण के बाद, Medoo को मार्गों, नियंत्रकों या सेवाओं में टाइप-संकेत देकर हल करें।
use Illuminate\Support\Facades\Route;
use Medoo\Medoo;

Route::get('/', function () {
	$data = app(Medoo::class)->select('account', ['id', 'name']);
	return response()->json($data);
});

Route::get('/typed', function (Medoo $database) {
	$data = $database->select('account', ['id', 'name']);
	return response()->json($data);
});

Slim

Slim 4 आमतौर पर php-di/slim-bridge के माध्यम से PHP-DI के साथ एकीकृत होता है। कंटेनर परिभाषाओं में Medoo पंजीकृत करें और ब्रिज को ऐप इंस्टेंस बनाने दें।
PHP-DI स्थापित किया जा रहा है
$ कंपोजर को स्लिम/पीएसआर7 php-di/php-di php-di/स्लिम-ब्रिज की आवश्यकता है
पंजीकरण Medoo
use DI\Bridge\Slim\Bridge;
use DI\ContainerBuilder;
use Medoo\Medoo;
use Psr\Http\Message\ResponseInterface as Response;
use Psr\Http\Message\ServerRequestInterface as Request;

require __DIR__ . '/vendor/autoload.php';

$builder = new ContainerBuilder();

$builder->addDefinitions([
	Medoo::class => function () {
		return new Medoo([
			'type' => 'mysql',
			'host' => 'localhost',
			'database' => 'name',
			'username' => 'your_username',
			'password' => 'your_password'
		]);
	}
]);

$container = $builder->build();

$app = Bridge::create($container);
Medoo तक पहुंच
use DI\Container;

$app->get('/', function (Request $request, Response $response) use ($container) {
	/** @var Container $container */
	$data = $container->get(Medoo::class)->select('account', ['id', 'name']);
	$response->getBody()->write(json_encode($data));

	return $response->withHeader('Content-Type', 'application/json');
});

$app->run();

Symfony

सिम्फनी 6/7 में, अनुशंसित दृष्टिकोण Medoo को एक सेवा के रूप में पंजीकृत करना और इसे नियंत्रकों या डोमेन सेवाओं में स्वचालित रूप से जोड़ना है।
पंजीकरण Medoo
अपनी सेवा कॉन्फ़िगरेशन फ़ाइल में Medoo जोड़ें, उदाहरण के लिए config/services.yaml
services:
    Medoo\Medoo:
        arguments:
            -
                type: 'mysql'
                host: '%env(resolve:DB_HOST)%'
                database: '%env(resolve:DB_NAME)%'
                username: '%env(resolve:DB_USER)%'
                password: '%env(resolve:DB_PASS)%'
Medoo तक पहुंच
namespace App\Controller;

use Medoo\Medoo;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\Routing\Annotation\Route;

class HomeController
{
	private Medoo $database;

	public function __construct(Medoo $database)
	{
		$this->database = $database;
	}

	#[Route('/', name: 'home')]
	public function index(): JsonResponse
	{
		$data = $this->database->select('account', ['id', 'name']);

		return new JsonResponse($data);
	}
}

Yii 3

वाईआई 3 कॉन्फ़िगरेशन फ़ाइलों के माध्यम से निर्भरता इंजेक्शन का उपयोग करता है। DI कॉन्फ़िगरेशन में Medoo को परिभाषित करें और इसे हैंडलर, नियंत्रक या सेवाओं में इंजेक्ट करें।
पंजीकरण Medoo
अपनी DI कॉन्फ़िगरेशन फ़ाइल में Medoo को परिभाषित करें, उदाहरण के लिए config/common/di.php
use Medoo\Medoo;

return [
	Medoo::class => static function () {
		return new Medoo([
			'type' => 'mysql',
			'host' => getenv('DB_HOST') ?: 'localhost',
			'database' => getenv('DB_NAME') ?: 'name',
			'username' => getenv('DB_USER') ?: 'your_username',
			'password' => getenv('DB_PASS') ?: 'your_password'
		]);
	},
];
Medoo तक पहुंच
use Medoo\Medoo;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;

final class SiteController
{
	private Medoo $database;

	public function __construct(Medoo $database)
	{
		$this->database = $database;
	}

	public function index(
		ServerRequestInterface $request,
		ResponseInterface $response
	): ResponseInterface {

		$data = $this->database->select('account', ['id', 'name']);
		$response->getBody()->write(json_encode($data));

		return $response;
	}
}

CodeIgniter 4

CodeIgniter 4 में, अनुशंसित पैटर्न Medoo को Config\Services के माध्यम से उजागर करना है ताकि एक साझा उदाहरण का पुन: उपयोग किया जा सके।
पंजीकरण Medoo
app/Config/Services.php में एक कस्टम सेवा बनाएं।
namespace Config;

use CodeIgniter\Config\BaseService;
use Medoo\Medoo;

class Services extends BaseService
{
	public static function medoo(bool $getShared = true)
	{
		if ($getShared) {
			return static::getSharedInstance('medoo');
		}

		return new Medoo([
			'type' => 'mysql',
			'host' => env('database.default.hostname', 'localhost'),
			'database' => env('database.default.database', 'name'),
			'username' => env('database.default.username', 'your_username'),
			'password' => env('database.default.password', 'your_password')
		]);
	}
}
Medoo तक पहुंच
namespace App\Controllers;

class Home extends BaseController
{
	public function index()
	{
		$database = service('medoo');
		$data = $database->select('account', ['id', 'name']);

		return $this->response->setJSON($data);
	}
}

Phalcon

फाल्कन 5 में, Medoo को DI कंटेनर में एक साझा सेवा के रूप में पंजीकृत करें और इसे क्लास नाम से पुनः प्राप्त करें।
पंजीकरण Medoo
use Medoo\Medoo;
use Phalcon\Di\Di;

$di = new Di();

$di->setShared(Medoo::class, function () {
	return new Medoo([
		'type' => 'mysql',
		'host' => 'localhost',
		'database' => 'name',
		'username' => 'your_username',
		'password' => 'your_password'
	]);
});
Medoo तक पहुंच
use Phalcon\Mvc\Controller;

class IndexController extends Controller
{
	public function indexAction()
	{
		$data = $this->di->getShared(Medoo::class)->select('account', ['id', 'name']);
		return json_encode($data);
	}
}