当前位置:首页 > PHP教程 > php环境安装 > 列表

PHP数据库框架Medoo1.6安装教程

发布:smiling 来源: PHP粉丝网  添加日期:2022-06-11 09:04:07 浏览: 评论:0 

开始:使用Medoo是非常简单的事!

Medoo1.2开始不支持PHP5.4或以下,若你使用的是1.2以前的版本,请选择菜单 中文文档(<1.2)

要求:

1、PHP>=5.4, 必须支持PDO

2、支持 MySQL, MSSQL, SQLite 等数据库.

3、确保php_pdo_xxx (xxx = 数据库类型) 的xxx数据扩展已经正确安装并启用.

4、需要懂一些SQL知识.

PHP PDO扩展列表

MySQL, MariaDB -> php_pdo_mysql

MSSQL (Windows) -> php_pdo_sqlsrv

MSSQL (Liunx/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 PDO安装

medoo需要PHP支持PDO扩展,请在安装相关扩展后继续以下操作

打开php.ini找到你想要的相应扩展,去掉前面的;号即可

将:

;extension=php_pdo_mysql.dll

修改成:

extension=php_pdo_mysql.dll

保存,重启你的PHP或者服务器

如果PDO安装成功,你可以通过phpinfo()查看到它.

如果你通过终端(linux)命令行安装,系统会自动安装配置相应扩展

$ sudo apt-get install php5-mysql

使用 PHP Composer 安装

如果你通过php自带的依赖扩展安装它,可以使用下面的命令,或者你根据自己的需要修改即可。

$ composer require catfan/Medoo

源文件安装

这是最简单的方法,下载medoo源文件,放到你的PHP开发目录里,载入即可

require  'medoo.php';

Medoo配置

这儿提供三种数据库的连接演示.

  1. // If you installed via composer, just use this code to requrie autoloader on the top of your projects. 
  2.  
  3. require 'vendor/autoload.php'; 
  4.  
  5. // Using Medoo namespace 
  6.  
  7. use Medoo\Medoo; 
  8.  
  9. $database = new Medoo([ 
  10.  
  11.     // required 
  12.  
  13.     'database_type' => 'mysql'
  14.  
  15.     'database_name' => 'name'
  16.  
  17.     'server' => 'localhost'
  18.  
  19.     'username' => 'your_username'
  20.  
  21.     'password' => 'your_password'
  22.  
  23.     // [optional] 
  24.  
  25.     'charset' => 'utf8'
  26.  
  27.     'port' => 3306, 
  28.  
  29.     // [optional] Table prefix 
  30.  
  31.     'prefix' => 'PREFIX_'
  32.  
  33.     // [optional] Enable logging (Logging is disabled by default for better performance) 
  34.  
  35.     'logging' => true, 
  36.  
  37.     // [optional] MySQL socket (shouldn't be used with server and port) 
  38.  
  39.     'socket' => '/tmp/mysql.sock'
  40.  
  41.     // [optional] driver_option for connection, read more from http://www.php.net/manual/en/pdo.setattribute.php 
  42.  
  43.     'option' => [ 
  44.  
  45.         PDO::ATTR_CASE => PDO::CASE_NATURAL 
  46.  
  47.     ], 
  48.  
  49.     // [optional] Medoo will execute those commands after connected to the database for initialization 
  50.  
  51.     'command' => [ 
  52.  
  53.         'SET SQL_MODE=ANSI_QUOTES' 
  54.  
  55.     ] 
  56.  
  57. ]); 
  58.  
  59. $database->insert("account", [ 
  60.  
  61.     "user_name" => "foo"
  62.  
  63.     "email" => "foo@bar.com" 
  64.  
  65. ]); 

定制DSN链接

缺省情况下Medoo不支持的数据库您还可以使用自定义DSN连接,特别是一些新数据库,DSN参数比较特殊,或者如果要为连接添加更多的DSN参数值。

连接格式.

{driver}:{key}={value};{key}={value}

  1. $database = new Medoo([ 
  2.  
  3.     // Started using customized DSN connection 
  4.  
  5.     'dsn' => [ 
  6.  
  7.         // The PDO driver name for DSN driver parameter 
  8.  
  9.         'driver' => 'mydb'
  10.  
  11.         // The parameters with key and value for DSN 
  12.  
  13.         'server' => '12.23.34.45'
  14.  
  15.         'port' => '8886' 
  16.  
  17.     ], 
  18.  
  19.     // [optional] Medoo will have different handle method according to different database type 
  20.  
  21.     'database_type' => 'mysql'
  22.  
  23.    
  24.  
  25.     'username' => 'your_username'
  26.  
  27.     'password' => 'your_password' 
  28.  
  29. ]); 
  30.  
  31.    
  32.  
  33. // The final DSN connection string will be generated like this 
  34.  
  35. mydb:server=12.23.34.45;port=8886 

连接 SQLite

如果你要使用Medoo连接你的MSSQL数据库,你需要安装相关扩展:Windows安装pdo_sqlsrv、Linux/UNIX安装pdo_dblib. pdo_mssql 扩展已被PHP废弃,不建议使用.

  1. $database = new Medoo([ 
  2.  
  3.     'database_type' => 'mysql'
  4.  
  5.     'database_name' => 'name'
  6.  
  7.     'server' => 'localhost'
  8.  
  9.     'username' => 'your_username'
  10.  
  11.     'password' => 'your_password'
  12.  
  13.    
  14.  
  15.     // [optional] The application name 
  16.  
  17.     'appname' => 'test'
  18.  
  19.    
  20.  
  21.     // [optional] If you want to force Medoo to use dblib driver for connecting MSSQL database 
  22.  
  23.     'driver' => 'dblib' 
  24.  
  25. ]); 

现在Medoo可以使用sqlsrv来驱动MSSQL,详见微软官方文档 https://docs.microsoft.com/en-us/sql/connect/php/connection-options?view=sql-server-2017.

  1. $database = new Medoo([ 
  2.  
  3.     'database_type' => 'mysql'
  4.  
  5.     'database_name' => 'name'
  6.  
  7.     'server' => 'localhost'
  8.  
  9.     'username' => 'your_username'
  10.  
  11.     'password' => 'your_password'
  12.  
  13.    
  14.  
  15.     // [optional] MSSQL connection options 
  16.  
  17.     'application_intent' => 'ReadOnly'
  18.  
  19.     'attach_db_file_name' => './database.sql'
  20.  
  21.     'authentication' => 'SqlPassword'
  22.  
  23.     'column_encryption' => 'Enabled'
  24.  
  25.     'connection_pooling' => 1, 
  26.  
  27.     'encrypt' => 1, 
  28.  
  29.     'failover_partner' => 'MultiSubnetFailover'
  30.  
  31.     'key_store_authentication' => 'KeyVaultPassword'
  32.  
  33.     'key_store_principal_id' => 'AzureName'
  34.  
  35.     'key_store_secret' => 'AzurePass'
  36.  
  37.     'login_timeout' => '20'
  38.  
  39.     'multiple_active_result_sets' => 1, 
  40.  
  41.     'multi_subnet_failover' => 'Yes'
  42.  
  43.     'scrollable' => 'buffered'
  44.  
  45.     'trace_file' => './path'
  46.  
  47.     'trace_on' => 1, 
  48.  
  49.     'transaction_isolation' => PDO::SQLSRV_TXN_SNAPSHOT, 
  50.  
  51.     'transparent_network_ip_resolution' => 'Enabled'
  52.  
  53.     'trust_server_certificate' => 1, 
  54.  
  55.     'wsid' => 'Computer1' 
  56.  
  57. ]); 

连接 SQLite

  1. $database = new medoo([ 
  2.  
  3.     'database_type' => 'sqlite'
  4.  
  5.     'database_file' => 'my/database/path/database.db' 
  6.  
  7. ]); 
  8.  
  9. $database->insert("account", [ 
  10.  
  11.     "user_name" => "foo"
  12.  
  13.     "email" => "foo@bar.com" 
  14.  
  15. ]);

Tags: Medoo1.6安装教程

分享到: