前提需要安装composer
网站:https://packagist.org/
可能需要梯子访问
开发是最好先注册一下
当想要初始化一个php项目的时候 , 或者想要开发一个类库给别人使用的时候
都需要一个composer.json文件
直接在项目目录输入 composer init 按照引导就可以生成了 , 详细的引导解释如下
This command will guide you through creating your composer.json config.
# 1. 输入项目命名空间
# 注意/ 必须要符合 [a-z0-9_.-]+/[a-z0-9_.-]+
Package name (<vendor>/<name>) [root/test_composer]:yourname/projectname
# 2. 项目描述
Description []:这是一个测试composer init 项目
# 3. 输入作者信息,直接回车可能出现如下提示,有的系统可以直接回车,具体为什么?这里不详细介绍
Invalid author string. Must be in the format: John Smith <john@example.com>
# 3.1. 注意必须要符合 John Smith
Author [, n to skip]: John Smith <john@example.com>
# 4. 输入最低稳定版本,stable, RC, beta, alpha, dev
Minimum Stability []:dev
# 5. 输入项目类型
Package Type (e.g. library, project, metapackage, composer-plugin) []:library
# 6. 输入授权类型
License []:
Define your dependencies.
# 7. 输入依赖信息
Would you like to define your dependencies (require) interactively [yes]?
# 7.1. 如果需要依赖,则输入要安装的依赖
Search for a package:php
# 7.2. 输入版本号
Enter the version constraint to require (or leave blank to use the latest version): >=5.4.0
# 如需多个依赖,则重复以上两个步骤(7.1/7.2)
Search for a package:
# 8. 是否需要require-dev,
Would you like to define your dev dependencies (require-dev) interactively [yes]?
{
"name": "dduan/test_compser",
"description": "这是一个测试composer init 项目",
"type": "library",
"require": {
"php": ">=5.4.0"
},
"authors": [
{
"name": "John Smith",
"email": "[email protected]"
}
],
"minimum-stability": "dev"
}
# 9. 是否生成composer.json
Do you confirm generation [yes]?
# 现在安装依赖项吗
Would you like to install dependencies now [yes]?
composer.json
{
"name": "wumm/oneinit",
"description": "测试开发 composer",
"autoload": {
"psr-4": {
"Oneinit\\": "src/"
}
},
"autoload-dev":{
"psr-4":{
"Oneinit\\":"src/"
}
},
"authors": [
{
"name": "John Smith",
"email": "[email protected]",
"homepage":"https://github.com/oneinit"
}
],
"license": "MIT",
"keywords": [
"测试1",
"测试2"
],
"homepage":"https://github.com/oneinit",
"require": {
"php":">=5.6.0"
}
}
随后composer update
建立一下src/Verify.php
namespace Oneinit;//要与composer.json "Oneinit\\":"src/" 对应
/**
* 校验工具类,如验证ip、手机、邮箱等等
* Class VerifyTools
*/
class Verify
{
/**
* 说明:判断是否为合法的ip地址
* 判断是否为合法的ip地址
* @param string $ip ip地址
* @return bool|int 不合法则返回false,合法则返回4(IPV4)或6(IPV6)
*/
function isIPAddress($ip)
{
$ipv4Regex = '/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/';
$ipv6Regex = '/^(((?=.*(::))(?!.*\3.+\3))\3?|([\dA-F]{1,4}(\3|:\b|$)|\2))(?4){5}((?4){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i';
if (preg_match($ipv4Regex, $ip))
return 4;
if (false !== strpos($ip, ':') && preg_match($ipv6Regex, trim($ip, ' []')))
return 6;
return false;
}
// 说明: 验证邮箱格式
function isValidEmail($email)
{
$check = false;
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
$check = true;
}
return $check;
}
/**
$email = "[email protected]";
$check = is_validemail($email);
echo $check;
//If the output is 1, then email is valid.
*/
/**
* 判断是否为手机访问
* @return boolean
*/
function isMobile()
{
$sp_is_mobile = false;
if (empty($_SERVER['HTTP_USER_AGENT'])) {
$sp_is_mobile = false;
} elseif (
strpos($_SERVER['HTTP_USER_AGENT'], 'Mobile') !== false // many mobile devices (all iPhone, iPad, etc.)
|| strpos($_SERVER['HTTP_USER_AGENT'], 'Android') !== false
|| strpos($_SERVER['HTTP_USER_AGENT'], 'Silk/') !== false
|| strpos($_SERVER['HTTP_USER_AGENT'], 'Kindle') !== false
|| strpos($_SERVER['HTTP_USER_AGENT'], 'BlackBerry') !== false
|| strpos($_SERVER['HTTP_USER_AGENT'], 'Opera Mini') !== false
|| strpos($_SERVER['HTTP_USER_AGENT'], 'Opera Mobi') !== false
) {
$sp_is_mobile = true;
} else {
$sp_is_mobile = false;
}
return $sp_is_mobile;
}
/**
* 判断是否为微信访问
* @return boolean
*/
function isWeiXin()
{
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') !== false) {
return true;
}
return false;
}
/**
* 检查手机号码格式
* @param $mobile 手机号码
*/
function checkMobile($mobile)
{
if (preg_match('/1[0123456789]\d{9}$/', $mobile))
return true;
return false;
}
/**
* 检查固定电话
* @param $mobile
* @return bool
*/
function checkTelephone($mobile)
{
if (preg_match('/^([0-9]{3,4}-)?[0-9]{7,8}$/', $mobile))
return true;
return false;
}
/**
* 当前请求是否是https
* @return type
*/
function isHttps()
{
return isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] && $_SERVER['HTTPS'] != 'off';
}
}
后再根目录 创建一下 index.php 引入类
use Oneinit\Verify;
header('content-type:text/html;charset=utf-8');
include './vendor/autoload.php';
$var = (new Verify)->isValidEmail('[email protected]');
die(var_dump($var)); //测试一下
用本地测试一下
参考:https://blog.csdn.net/taoshihan/article/details/116824814
创建一个github 仓库
注意此名字 与相同哦
随后ssh提交
git clone git@github.com:yuansql/verify.git
git add *
git commit -m '第一次提交插件'
git push --set-upstream ssh地址 master
最好添加一下版本号
可以了后发布一下composer包
然后就这样了
最好在update一下更好哦
创建一下文件夹 拉取一下测试一下
composer require wumm/verify
成功了
封装更多工具类参考:https://www.jianshu.com/p/8ab3dce8d6f1
感兴趣看一看一下:https://github.com/crazyjy/phptools/blob/master/README.md
接下来找个疫情期间小区发的laravel框架用一下
安装 composer require wumm/verify
创建一下文件