استفاده از Medoo در PHP

سلام مجدد

هیچ وقت از استفاده کردن از PDO لذت نمیبردم توی کار هام. ولی انقدر خوبه که نمیشد استفاده نکرد ازش

یه مقدار سخت بود برام کار کردن باهاش . ترجیح میدادم اگر دیتابیس mysql هست با توابع mysqli کار کنم تا PDO

اما بعضی موقع ها خبری از Mysql عزیز نبود و پای دیگر دیتابیس ها در میان بود 🙁

 

برای اینکه هم بتونم از قابلیت PDO استفاده کنم و هم لذت کافی رو ببرم از کار و همچنین زیادم سخت نباشه برام یه جستجوی ریزی کردم و نتیجه خوبی بدست آوردم

اون هم اسمش بود Medoo !!

خیلی شیک و راحت به ۸ تا دیتابیس وصل میشه و امنیت ورود اطلاعات به دیتابیس و یا خروجی گرفتن رو هم تامین میکنه ! البته که من به اون قانع نیستم و خودم مقادیر رو تر تمیز میفرستم به سمت دیتابیس . به هرحال….

از لینک میتونید جدیدترین نسخه Medoo رو دانلود کنید https://github.com/catfan/Medoo/archive/master.zip

خوبیش اینه که خیلی شلوغ نمیکنه پروژه رو و یه گوشه میشینه مثه بچه آدم کارشو میکنه :))

داکیومنت هایشم توی این لینک هست https://medoo.in/api/new

خوب حواستون باشه که نسخه PHP باید PHP >=5.4  باشه و حتما PDO نصب باشه روی سرور

در جدول زیر دیتابیس هایی که توسط Medoo پشتیبانی میشن رو میبینید همرا با نوع درایور

Name Driver
MySQL, MariaDB php_pdo_mysql
MSSQL (Windows) php_pdo_sqlsrv
MSSQL (Linux/UNIX) php_pdo_dblib / php_pdo_sqlsrv
Oracle php_pdo_oci
Oracle version 8 php_pdo_oci8
SQLite php_pdo_sqlite
PostgreSQL php_pdo_pgsql
Sybase php_pdo_dblib

حالا منم چند نمونه مثال براتون میزنم که شاد باشیم دور هم

برای اتصال به دیتابیس و موارد اضافیش کد زیر میتونه مفید باشه

<?php include 'medoo.php'; $database = new Medoo([ // required 'database_type' => 'mysql',
	'database_name' => 'dbname',
	'server' => 'localhost',
	'username' => 'username',
	'password' => 'password',
 
	// [optional]
	'charset' => 'utf8mb4',
	'collation' => 'utf8mb4_general_ci',
	'port' => 3306,
 
	// [optional] Table prefix
	'prefix' => 'tbl_',
 
	// [optional] Enable logging (Logging is disabled by default for better performance)
	//'logging' => true,
 
	// [optional] MySQL socket (shouldn't be used with server and port)
	//'socket' => '/tmp/mysql.sock',
 
	// [optional] driver_option for connection, read more from http://www.php.net/manual/en/pdo.setattribute.php
	'option' => [
		PDO::ATTR_CASE => PDO::CASE_NATURAL
	],
 
	// [optional] Medoo will execute those commands after connected to the database for initialization
	'command' => [
		'SET SQL_MODE=ANSI_QUOTES'
	]
]);

خوب یک شی ساختم از Medoo توی $database

خیلی جالبه که PREFIX هم میتونید وارد کنید مثلا اول اسم همه جداول شما tbl_ هست . اگر هم ندارید و نمیخواید استفاده کنید از PREFIX میتونید کامنتش کنید همچنین موارد optional دیگه ای که داره….
(تکه کد مربوط به زبان فارسی رو هم داخلشم قرار دادم)

حالا قصد دارم یک رکورد اضافه کنم ( insert انجام بدم )

    $database->insert('emoji',['image'=>$image,'unicode'=>$unicode]);

توی کد بالا اول از شی $database متد insert رو انتخاب میکنیم و توی اولین ورودیش اسم تیبل رو وارد میکنیم ، سپس اسم ستون هایی میخایم داخلشون دایتا وارد کنیم رو مینوسیسم و مقدار ….

برای خواندن رکورد ( select کردن )

$data = $database->select('emoji',['image','unicode','bytes'],['OR'=>['unicode'=>$key,'tags[~]'=>$key]]);
$i = 0;
foreach($data as $item) {
    $res[$i] = $item;
    $res[$i]['image'] = $item['image'];
    $i++;
}

مجدد از شی $database از متد select استفاده میکنیم مثل قبل پارامتر اول اسم جدول و سپس اسم ستون هایی که قصد داریم انتخاب کنیم
رو وارد میکنیم . اگر بخوایم فیلتر کنیم نتایج رو باید از where استفاده کنیم که اینجا یخورده فرق داره و به عنوان پارامتر سوم
وارد میشه.
اطلاعات بیشتر در مورد متد select در این لینک موجوده https://medoo.in/api/select

حتی میتونید از متد query استفاده کنید که خودتون query رو بنویسید مثل همیشه که مینوشتید $database->query()

خوب بقیه موارد مثل update و delete هم توی https://medoo.in/api/update و https://medoo.in/api/delete هست.

خوب حتما متوجه شدین که الان میتونید با استفاده از medoo ، کد های ثابتی داشته باشید که به دیتابیس های مختلف بخوره و یه حالت استاندارده

من ققط نیتم آشنایی بود ، همین و بس 😀 برای درک بیشتر مطلب به سایت خود medoo مراجعه کنید https://medoo.in/

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *