1.安装安装包gregwar/captchacomposer->composer.json中 “require”: { “gregwar/captcha”: “1.*” }命令符中的composer下composer install->composer update2.login.php
session_start();require __DIR__ . DIRECTORY_SEPARATOR . 'vendor' . DIRECTORY_SEPARATOR . 'autoload.php';use Gregwar\Captcha\CaptchaBuilder;$builder = new CaptchaBuilder;$builder->build();// $builder->save('out.jpg');// header('Content-type: image/jpeg');// $builder->output();//将验证码的文字信息存放在session中$_SESSION['phrase'] = $builder->getPhrase();//后端验证码的验证if ((strcasecmp($_POST['captcha'], $_SESSION['phrase'])) == 0) {echo json_encode('验证通过', 320);} else {echo json_encode('验证码错误', 320);}?><input type="text" name="captcha" placeholder="请输入验证码"><img src="<?php echo $builder->inline(); ?>" /><p><?= $_SESSION['phrase'] ?></p>
接口是定义,类(抽象类)是实现。 1.接口中公开的均是抽象方法,类属性不能定义在接口中,类常量可以 2.一个工作类必须将接口中的所有方法按照自己的需求去实现,否则该类要定义成抽象类 3.抽象类中可以有抽象方法和普通方法,不能被实例化
interface Idemo{const APP_NAME = '咖啡馆';public static function getInfo(...$info);public static function cal($a, $b);}//抽象类abstract class aDemo implements Idemo{static function getInfo(...$info){return print_r($info, true);}}//工作类class Work extends aDemo{static function cal($a, $b){return pow($a, $b);}}echo Work::getInfo('木子木杉', 35, '正在学习');//常量最好是以接口的方式去访问echo Idemo::APP_NAME;echo aDemo::APP_NAME;echo aDemo::getInfo('木子木杉', 35, '正在学习');echo Work::cal(4, 2);
相关推荐
© 2020 asciim码
人生就是一场修行