批改状态:合格
老师批语:你看一视频并在不这个脚本中测试
1、知识点:
strncmp:字符串比较(二进制安全模式)例如:strncmp($str1,$str2,$int);返回int型;
strlen:求字符串长度 例如:strlen($str);返回int;
substr:截取字符串,例如:substr($str, $start, $strlen); $start和$strlen位整数型,返回字符串;
str_replace:字符替换;例如:str_replace($former,$new,$str);返回字符串(把字符串中new替换掉former);
DIRECTORY_SEPARATOR:自适应湖获取当前系统的文件目录的连接符
自动加载函数:__autoload();sql_autoload_register();
PSR编码规范:
一、PSR-1:基本代码风格
<?php ... ?>, <?= ... ?>UTF-8ClassName大驼峰, 每一个单词的首字母必须大写propertyName,methodName,除第一个单词之外,每个单词的首字母大写API, APP_PATH?>TRUE / FALSE, true / falseuse前后必须要有空行extends / implements必须与类名在同一行public, protected, privateabstract / final: 必须放在可见性声明前面static: 必须放在可见性声明后面if,while,for,foreach...,关键字后面必须要有空格,起始大括号不允许换行include / require, 加载效率低, 不能实现按需要加载__autoload(), spl_autoload_register()注册加载器, 各框架各异并不统一
namespace src\home;
class User
{
public static function get() : string
{
return CLASS;
}
public static function abc() : string{return __FUNCTION__;}
}
// echo User::get();
demo1代码:```php<?phpnamespace part1;spl_autoload_register(function($class){$prefix='App\edu\\';$base_dir=__DIR__.'\src\\';$real_class=substr($class,strlen($prefix));// echo $real_class;$path=str_replace('\\',DIRECTORY_SEPARATOR,$real_class);// die($path);$file=$base_dir.$path.'.php';// die($file);var_dump($file);file_exists($file) ? require $file : die('文件不存在,加载失败');});
demo.php代码:
<?phpnamespace part1;use App\edu\home\User;require 'demo1.php';User::get();
效果代码:
问题:总是提示错误:
fatal error: uncaught error: class ‘app\edu\home\user’ not found in d:\phpstudy_pro\www\newyear.com\0210\0213\demo.php:9 stack trace: #0 {main} thrown in d:\phpstudy_pro\www\newyear.com\0210\0213\demo.php on line 9
不知道怎么回事??user.php和demo1.php都没有问题,但是在demo.php中提示错误,无法解决!!求解作业四
1、composer组件安装,直接下载直接安装即可,不过安装时需要把php.exe配置电脑环境变量即可安装
2、安装组件:直接在工作文件夹目录下,输入安装插件命令即可自动安装;例如:composer require gregwar/captcha
3、组件导入使用,需要先加载加载器:require 'vendor\autoload.php';,然后就可以同use关键字使用组件的相关功能:例如:use Gregwar\Captcha\CaptchaBuilder;
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号