当前位置: 首页 > news >正文

【面试系列】PHP 高频面试题

欢迎来到我的博客,很高兴能够在这里和您见面!欢迎订阅相关专栏:

⭐️ 全网最全IT互联网公司面试宝典:收集整理全网各大IT互联网公司技术、项目、HR面试真题.
⭐️ AIGC时代的创新与未来:详细讲解AIGC的概念、核心技术、应用领域等内容。
⭐️ 全流程数据技术实战指南:全面讲解从数据采集到数据可视化的整个过程,掌握构建现代化数据平台和数据仓库的核心技术和方法。

文章目录

    • PHP 初级面试题及详细解答
      • 1. 什么是 PHP,PHP 的全称是什么?
      • 2. PHP 中如何声明变量?
      • 3. PHP 支持哪些数据类型?
      • 4. 如何在 PHP 中连接到 MySQL 数据库?
      • 5. 如何在 PHP 中定义和调用函数?
      • 6. 什么是 PHP 中的会话 (session) 以及如何启动会话?
      • 7. PHP 中的 `include` 和 `require` 有什么区别?
      • 8. 如何在 PHP 中处理错误?
      • 9. 如何在 PHP 中获取和处理表单数据?
      • 10. PHP 中如何使用数组?
    • PHP 高级面试题及详细解答
      • 1. PHP 中的命名空间是什么,有什么作用?
      • 2. 什么是 PHP 中的 Composer,如何使用它?
      • 3. 解释 PHP 的 Trait 及其用途。
      • 4. PHP 中的依赖注入是什么,有什么优点?
      • 5. 如何在 PHP 中处理多线程?
      • 6. PHP 中的闭包 (Closure) 是什么?
      • 7. 什么是 PHP 的 SPL (Standard PHP Library)?
      • 8. 如何在 PHP 中实现 RESTful API?
      • 9. 如何在 PHP 中使用生成器 (Generator)?
      • 10. 什么是 PHP 的 PSR 标准?
    • PHP 高级面试题及详细解答
      • 1. 什么是 PHP 的反射 (Reflection),如何使用它?
      • 2. 解释 PHP 中的闭包 (Closure) 及其用途。
      • 3. 如何在 PHP 中实现单例模式?
      • 4. 解释 PHP 的垃圾回收机制。
      • 5. PHP 中的 SPL (Standard PHP Library) 是什么,有哪些常用类?
      • 6. 如何在 PHP 中实现 RESTful API?
      • 7. 解释 PHP 中的依赖注入 (Dependency Injection)。
      • 8. 什么是 PHP 的 PSR 标准?列举常见的 PSR。
      • 9. 如何在 PHP 中使用生成器 (Generator)?
      • 10. 如何优化 PHP 应用的性能?
    • 总结
      • 1. 基础语法和概念
      • 2. 面向对象编程(OOP)
      • 3. 高级特性
      • 4. 数据库操作
      • 5. Web开发
      • 6. 安全
      • 7. 性能优化
      • 8. 测试
      • 9. 工具和框架

PHP 初级面试题及详细解答

1. 什么是 PHP,PHP 的全称是什么?

解答: PHP 是一种流行的开源脚本语言,特别适合用于 web 开发并可以嵌入 HTML。PHP 的全称是 “PHP: Hypertext Preprocessor”,它最初代表的是 “Personal Home Page”。

2. PHP 中如何声明变量?

解答: 在 PHP 中,变量以 $ 符号开头,后跟变量名。变量名必须以字母或下划线开头,后面可以跟字母、数字或下划线。例如,$variableName = 'value';

3. PHP 支持哪些数据类型?

解答: PHP 支持多种数据类型,包括:字符串 (string)、整数 (integer)、浮点数 (float)、布尔值 (boolean)、数组 (array)、对象 (object)、NULL 以及资源 (resource)。

4. 如何在 PHP 中连接到 MySQL 数据库?

解答: 可以使用 mysqliPDO 扩展连接到 MySQL 数据库。使用 mysqli 的示例如下:

$mysqli = new mysqli("hostname", "username", "password", "database");if ($mysqli->connect_error) {die("Connection failed: " . $mysqli->connect_error);
}

5. 如何在 PHP 中定义和调用函数?

解答: 在 PHP 中,可以使用 function 关键字定义函数,调用时直接使用函数名。示例如下:

function sayHello() {echo "Hello, World!";
}sayHello(); // 调用函数

6. 什么是 PHP 中的会话 (session) 以及如何启动会话?

解答: 会话用于在多个页面请求之间存储用户信息。在 PHP 中,可以使用 session_start() 函数启动会话,并使用 $_SESSION 超全局变量存取会话数据。例如:

session_start();
$_SESSION['username'] = 'JohnDoe';
echo $_SESSION['username'];

7. PHP 中的 includerequire 有什么区别?

解答: includerequire 都用于引入文件。include 在文件无法找到时会生成一个警告 (warning) 并继续执行,而 require 则会生成一个致命错误 (fatal error) 并停止脚本执行。

8. 如何在 PHP 中处理错误?

解答: 可以使用 try-catch 块来处理错误和异常。示例如下:

try {// 可能抛出异常的代码throw new Exception("An error occurred");
} catch (Exception $e) {echo 'Caught exception: ',  $e->getMessage(), "\n";
}

9. 如何在 PHP 中获取和处理表单数据?

解答: 可以使用 $_GET$_POST 超全局数组获取表单数据,具体取决于表单的 method 属性。示例如下:

if ($_SERVER["REQUEST_METHOD"] == "POST") {$name = $_POST['name'];echo "Hello, " . $name;
}

10. PHP 中如何使用数组?

解答: 可以使用 array() 函数或短数组语法 [] 定义数组。访问和操作数组元素使用索引或键。例如:

// 定义数组
$fruits = array("Apple", "Banana", "Cherry");
$colors = ["Red", "Green", "Blue"];// 访问数组元素
echo $fruits[0]; // 输出 "Apple"
echo $colors[2]; // 输出 "Blue"

PHP 高级面试题及详细解答

1. PHP 中的命名空间是什么,有什么作用?

解答: 命名空间 (namespace) 是 PHP 5.3 引入的一个功能,用于解决类、函数、常量等名称冲突问题。通过命名空间,可以将代码组织成不同的模块,提高代码的可读性和可维护性。例如:

namespace MyApp\Controllers;class UserController {// 类定义
}namespace MyApp\Models;class User {// 类定义
}

2. 什么是 PHP 中的 Composer,如何使用它?

解答: Composer 是 PHP 的依赖管理工具,用于管理项目中的库依赖。使用 Composer,可以轻松安装和更新项目所需的库。使用步骤包括:

  1. 创建 composer.json 文件定义依赖。
  2. 运行 composer install 安装依赖。
  3. 使用 require 'vendor/autoload.php'; 自动加载库。

3. 解释 PHP 的 Trait 及其用途。

解答: Trait 是 PHP 5.4 引入的一种代码复用机制,用于解决单继承的局限性。Trait 可以包含方法和属性,可以被多个类使用,从而实现代码共享和复用。例如:

trait Logger {public function log($message) {echo $message;}
}class User {use Logger;
}$user = new User();
$user->log("User created");

4. PHP 中的依赖注入是什么,有什么优点?

解答: 依赖注入是一种设计模式,用于将对象的依赖传递给它,而不是在对象内部创建依赖。优点包括:提高代码的可测试性和可维护性、减少类之间的耦合、实现松耦合设计。例如:

class Database {// Database connection logic
}class UserService {private $db;public function __construct(Database $db) {$this->db = $db;}
}$db = new Database();
$userService = new UserService($db);

5. 如何在 PHP 中处理多线程?

解答: PHP 本身不支持多线程,但可以通过扩展如 pthreads 实现多线程编程。pthreads 扩展允许在 PHP 中创建和管理线程,适用于并行处理任务。例如:

class MyThread extends Thread {public function run() {echo "Thread is running\n";}
}$thread = new MyThread();
$thread->start();
$thread->join();

6. PHP 中的闭包 (Closure) 是什么?

解答: 闭包是匿名函数的另一种叫法,可以在变量中存储,并作为参数传递给其他函数。闭包可以捕获其定义时的变量环境。示例如下:

$message = "Hello";$example = function() use ($message) {echo $message;
};$example(); // 输出 "Hello"

7. 什么是 PHP 的 SPL (Standard PHP Library)?

解答: SPL 是 PHP 的标准库,提供了一组接口和类,用于解决常见的问题,如数据结构、迭代器、异常处理等。SPL 提供的类包括 SplStack、SplQueue、SplHeap 等。例如:

$stack = new SplStack();
$stack->push("Item 1");
$stack->push("Item 2");
echo $stack->pop(); // 输出 "Item 2"

8. 如何在 PHP 中实现 RESTful API?

解答: 实现 RESTful API 的步骤包括:定义路由、处理 HTTP 方法、返回 JSON 响应。示例如下:

header("Content-Type: application/json");$requestMethod = $_SERVER["REQUEST_METHOD"];switch($requestMethod) {case 'GET':// 处理 GET 请求echo json_encode(["message" => "GET request"]);break;case 'POST':// 处理 POST 请求echo json_encode(["message" => "POST request"]);break;// 其他 HTTP 方法
}

9. 如何在 PHP 中使用生成器 (Generator)?

解答: 生成器是 PHP 5.5 引入的功能,通过 yield 关键字可以简化实现迭代器。生成器可以生成一个值序列而不需要创建一个数组,节省内存。示例如下:

function numbers() {for ($i = 0; $i < 10; $i++) {yield $i;}
}foreach (numbers() as $number) {echo $number;
}

10. 什么是 PHP 的 PSR 标准?

解答: PSR (PHP Standards Recommendation) 是一组 PHP 规范,旨在提高代码的互操作性和一致性。常见的 PSR 标准包括:PSR-1 (基本编码标准)、PSR-2 (编码风格指南)、PSR-4 (自动加载标准) 等。例如,PSR-4 定义了自动加载类文件的规范,使得不同的框架和库可以无缝协作。

// PSR-4 自动加载示例
spl_autoload_register(function ($class) {$prefix = 'App\\';$base_dir = __DIR__ . '/src/';$len = strlen($prefix);if (strncmp($prefix, $class, $len) !== 0) {return;}$relative_class = substr($class, $len);$file = $base_dir . str_replace('\\', '/', $relative_class) . '.php';if (file_exists($file)) {require $file;}
});

PHP 高级面试题及详细解答

1. 什么是 PHP 的反射 (Reflection),如何使用它?

解答: 反射是 PHP 提供的一个 API,用于在运行时分析类、方法、属性等结构信息。反射可以用于自动化测试、文档生成和依赖注入等。使用示例如下:

class MyClass {public function myMethod($param) {}
}$reflector = new ReflectionClass('MyClass');
$method = $reflector->getMethod('myMethod');
$params = $method->getParameters();
foreach ($params as $param) {echo $param->getName();
}

2. 解释 PHP 中的闭包 (Closure) 及其用途。

解答: 闭包是匿名函数的另一种叫法,可以捕获其定义时的变量环境。闭包常用于回调函数、过滤器和排序函数等。示例如下:

$greeting = "Hello";$closure = function($name) use ($greeting) {return "$greeting, $name!";```php
$greeting = "Hello";$closure = function($name) use ($greeting) {return "$greeting, $name!";
};echo $closure("World"); // 输出 "Hello, World!"

闭包捕获了变量 $greeting 的值,并在函数内部使用它。

3. 如何在 PHP 中实现单例模式?

解答: 单例模式确保一个类只有一个实例,并提供全局访问点。通过私有构造函数、私有克隆方法和静态实例属性实现。示例如下:

class Singleton {private static $instance;private function __construct() {}private function __clone() {}public static function getInstance() {if (self::$instance === null) {self::$instance = new self();}return self::$instance;}
}$singleton = Singleton::getInstance();

4. 解释 PHP 的垃圾回收机制。

解答: PHP 的垃圾回收机制通过引用计数来管理内存。当对象的引用计数为零时,该对象的内存会被释放。PHP 5.3 引入了循环引用的检测和回收机制。垃圾回收器会定期检查和回收无法访问的循环引用对象,释放内存资源。

5. PHP 中的 SPL (Standard PHP Library) 是什么,有哪些常用类?

解答: SPL 是 PHP 的标准库,提供了一组常用的数据结构、迭代器和异常处理类。常用类包括:SplStackSplQueueSplHeapArrayObjectSplFileObject。这些类可以简化常见任务的实现,提高代码效率和可读性。

6. 如何在 PHP 中实现 RESTful API?

解答: 实现 RESTful API 的步骤包括:定义路由、处理 HTTP 方法、返回 JSON 响应。示例如下:

header("Content-Type: application/json");$requestMethod = $_SERVER["REQUEST_METHOD"];switch($requestMethod) {case 'GET':// 处理 GET 请求echo json_encode(["message" => "GET request"]);break;case 'POST':// 处理 POST 请求echo json_encode(["message" => "POST request"]);break;// 其他 HTTP 方法
}

可以使用框架如 Laravel 或 Symfony 来简化 RESTful API 的实现。

7. 解释 PHP 中的依赖注入 (Dependency Injection)。

解答: 依赖注入是一种设计模式,用于将对象的依赖传递给它,而不是在对象内部创建依赖。优点包括提高代码的可测试性和可维护性、减少类之间的耦合。依赖注入可以通过构造函数、方法或属性注入实现。示例如下:

class Database {// Database connection logic
}class UserService {private $db;public function __construct(Database $db) {$this->db = $db;}
}$db = new Database();
$userService = new UserService($db);

8. 什么是 PHP 的 PSR 标准?列举常见的 PSR。

解答: PSR (PHP Standards Recommendation) 是一组 PHP 规范,旨在提高代码的互操作性和一致性。常见的 PSR 标准包括:PSR-1 (基本编码标准)、PSR-2 (编码风格指南)、PSR-4 (自动加载标准) 和 PSR-7 (HTTP 消息接口)。PSR 提供了编码风格、自动加载和 HTTP 消息等方面的指导。

9. 如何在 PHP 中使用生成器 (Generator)?

解答: 生成器是 PHP 5.5 引入的功能,通过 yield 关键字可以简化实现迭代器。生成器可以生成一个值序列而不需要创建一个数组,节省内存。示例如下:

function numbers() {for ($i = 0; $i < 10; $i++) {yield $i;}
}foreach (numbers() as $number) {echo $number;
}

生成器每次调用时会生成一个值,避免一次性加载大量数据。

10. 如何优化 PHP 应用的性能?

解答: 优化 PHP 应用的性能可以从以下几个方面入手:

  1. 使用缓存机制,如 OPcache 和 Redis。
  2. 减少数据库查询次数,优化 SQL 查询。
  3. 使用高效的数据结构和算法。
  4. 使用内容分发网络 (CDN) 加速静态资源加载。
  5. 避免不必要的文件加载,使用自动加载机制。
  6. 压缩和合并 CSS 和 JavaScript 文件。
  7. 优化服务器配置,如启用 Gzip 压缩和 HTTP/2 支持。
    通过这些方法,可以显著提高 PHP 应用的性能和响应速度。

总结

作为一个PHP开发者,在面试中需要掌握的知识点涵盖了从基础到高级的多个方面。以下是PHP面试中需要掌握的主要知识点:

1. 基础语法和概念

  • 变量和数据类型:理解PHP的基本数据类型(如字符串、整数、浮点数、布尔值、数组、对象、NULL)以及变量的声明和作用域。
  • 操作符和表达式:掌握各种操作符(算术、比较、逻辑、字符串、数组等)及其优先级。
  • 控制结构:熟悉条件语句(if、else、elseif、switch)和循环结构(for、foreach、while、do-while)。
  • 函数:了解如何定义和调用函数,理解函数参数的传递方式(值传递和引用传递)、默认参数、可变数量参数和返回值。

2. 面向对象编程(OOP)

  • 类和对象:掌握类的定义、对象的创建和属性、方法的使用。
  • 继承:理解类的继承、方法重写、parentself 关键字的使用。
  • 接口和抽象类:熟悉接口的定义和实现、抽象类的使用及其区别。
  • 命名空间:了解命名空间的作用和使用方法,解决类名冲突的问题。
  • Trait:掌握Trait的定义和使用,用于代码复用。

3. 高级特性

  • 闭包和匿名函数:理解闭包和匿名函数的定义和应用场景。
  • 生成器:掌握生成器的定义和使用,通过 yield 关键字实现高效的数据迭代。
  • 反射:了解反射API,能够在运行时分析和操作类、方法、属性等。
  • 依赖注入:理解依赖注入的概念和实现方式,减少类之间的耦合。
  • 设计模式:熟悉常见的设计模式,如单例模式、工厂模式、策略模式、观察者模式等。

4. 数据库操作

  • 数据库连接:掌握通过 mysqliPDO 连接MySQL数据库的方法。
  • SQL查询:熟悉基本的SQL查询语句(SELECT、INSERT、UPDATE、DELETE),并能够使用PHP执行这些查询。
  • 防止SQL注入:了解如何使用预处理语句和参数绑定防止SQL注入攻击。
  • ORM框架:熟悉常用的ORM框架(如Doctrine、Eloquent)及其使用。

5. Web开发

  • 会话和Cookie:掌握会话的启动、使用和销毁,以及Cookie的设置和读取。
  • 表单处理:了解如何处理表单数据,包括GET和POST请求,验证和过滤用户输入。
  • 文件上传:熟悉文件上传的处理,包括表单配置、文件接收和存储。
  • RESTful API:理解RESTful API的基本概念和实现方式,能够处理不同的HTTP请求方法(GET、POST、PUT、DELETE)。

6. 安全

  • 数据验证和过滤:了解如何验证和过滤用户输入,防止XSS和其他注入攻击。
  • 加密和哈希:掌握数据加密和哈希算法,确保数据的安全性(如使用 password_hashpassword_verify)。
  • 安全配置:了解PHP的安全配置选项,如禁用危险函数、配置文件权限等。

7. 性能优化

  • 缓存机制:熟悉各种缓存机制,如OPcache、Redis、Memcached等,提高应用性能。
  • 代码优化:了解代码优化的技巧,如减少循环嵌套、避免重复计算、优化SQL查询等。
  • 资源管理:掌握高效管理资源的方法,如数据库连接池、文件流操作等。

8. 测试

  • 单元测试:了解单元测试的概念和重要性,熟悉PHPUnit等测试框架。
  • 集成测试:掌握集成测试的基本方法,能够对不同模块的集成进行测试。
  • 自动化测试:了解自动化测试的工具和方法,确保代码的持续集成和交付。

9. 工具和框架

  • Composer:掌握Composer的使用,管理项目依赖和自动加载。
  • 常用框架:熟悉常用的PHP框架(如Laravel、Symfony、CodeIgniter),了解其基本概念和使用方法。
  • 版本控制:了解版本控制系统(如Git)的基本操作和使用,掌握代码管理和协作的技巧。

通过掌握以上知识点,你将具备扎实的PHP开发技能,并能够在面试中自信地展示自己的能力。


💗💗💗 如果觉得这篇文对您有帮助,请给个点赞、关注、收藏吧,谢谢!💗💗💗

相关文章:

【面试系列】PHP 高频面试题

欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;欢迎订阅相关专栏&#xff1a; ⭐️ 全网最全IT互联网公司面试宝典&#xff1a;收集整理全网各大IT互联网公司技术、项目、HR面试真题. ⭐️ AIGC时代的创新与未来&#xff1a;详细讲解AIGC的概念、核心技术、…...

JAVA极简图书管理系统,初识springboot后端项目

前提条件&#xff1a; 具备基础的springboot 知识 Java基础 废话不多说&#xff01; 创建项目 配置所需环境 将application.properties>application.yml 配置以下环境 数据库连接MySQL 自己创建的数据库名称为book_test server:port: 8080 spring:datasource:url:…...

MySQL 重新初始化实例

1、关闭mysql服务 service mysqld stop 2、清理datadir(本例中指定的是/var/lib/mysql)指定的目录下的文件&#xff0c;将该目录下的所有文件删除或移动至其他位置 cd /var/lib/mysql mv * /opt/mysql_back/ 3、初始化实例 /usr/local/mysql/bin/mysqld --initialize --u…...

VCS编译bug汇总

‘typedef’ is not expected to be used in this contex 注册前少了分号。 Scope resolution error resolution : 声明指针时 不能与类名同名&#xff0c;即 不能声明为adapter. cannot find member "type_id" 忘记注册了 拼接运算符使用 关键要加上1b&#xff0…...

【2024LLM应用-数据预处理】之如何从PDF,PPT等非结构化数据提取有效信息(结构化数据JSON)?

&#x1f970;大家知道吗,之前在给AI大模型"喂数据"的时候,我们往往需要把非结构化数据(比如PDF、PPT、Excel等)自己手动转成结构化的格式,这可真是太累人儿了。&#x1f975; 幸好现在有了Unstructured这个神级库,它内置的数据提取函数可以帮我们快速高效地完成这个…...

冯雷老师:618大退货事件分析

近日冯雷老师受邀为某头部电商36名高管进行培训&#xff0c;其中聊到了今年618退货潮的问题。以下内容整理自冯雷老师的部分授课内容。 一、引言 随着电子商务的蓬勃发展&#xff0c;每年的618大促已成为消费者和商家共同关注的焦点。然而&#xff0c;在销售额不断攀升的同时…...

JAVA基础教程DAY0-基础知识

JAVA语言的特点 简单性、面向对象、安全性、跨平台性、支持多线程、分布性 面向对象编程&#xff08;Object-Oriented Programming&#xff0c;简称OOP&#xff09;是一种编程范式&#xff0c;它通过将数据和操作这些数据的方法封装在一起&#xff0c;以创建对象的形式来组织代…...

鸿蒙开发Ability Kit(程序访问控制):【安全控件概述】

安全控件概述 安全控件是系统提供的一组系统实现的ArkUI组件&#xff0c;应用集成这类组件就可以实现在用户点击后自动授权&#xff0c;而无需弹窗授权。它们可以作为一种“特殊的按钮”融入应用页面&#xff0c;实现用户点击即许可的设计思路。 相较于动态申请权限的方式&am…...

【信息系统项目管理师】18年~23年案例概念型知识

文章目录 18上18下19上19下20上20下21上21下22年上22年下23年上 18上 请简述 ISO 9000 质量管理的原则 领导作用、 过程方法、 管理的系统方法、 与供方互利的关系、 基于事实的决策方法、 持续改进、 全员参与、 以顾客为关注焦点 概念 国家标准(GB/T 1 9000 2008)对质量的定…...

什么是字符串常量池?如何利用它来节省内存?

字符串常量池是Java中一个非常重要的概念&#xff0c;尤其对于理解内存管理和性能优化至关重要。想象一下&#xff0c;你正在管理一家大型图书馆&#xff0c;每天都有无数读者来借阅书籍。 如果每本书每次借阅都需要重新印刷一本&#xff0c;那么图书馆很快就会陷入混乱&#…...

Selenium自动化测试20条常见异常+处理方案

常见的Selenium异常 以下是所有Selenium WebDriver代码中可能发生的一些常见Selenium异常。 1、ElementClickInterceptedException 由于以某种方式隐藏了接收到click命令的元素&#xff0c;因此无法正确执行Element Click命令。 2、ElementNotInteractableException 即使目…...

verilog将信号和常数拼接起来

正确的拼接 1 s_axis_data_tdata {32b0000_0000_0000_0000_0000_0000_0000_0000,32b0011_1111_1000_0000_0000_0000_0000_0000}; 2 注意&#xff0c;信号的两部分都要用{}花括号括起来 s_axis_data_tdata {{32{1b1}},{32b0100_0000_0000_0000_0000_0000_0000_0000}}; 3…...

OpenSSH远程代码执行漏洞 (CVE-2024-6387)

1. 前言 OpenSSH是一套基于安全外壳&#xff08;SSH&#xff09;协议的安全网络实用程序&#xff0c;它提供强大的加密功能以确保隐私和安全的文件传输&#xff0c;使其成为远程服务器管理和安全数据通信的必备工具。 OpenSSH 自 1995 年问世近 20 年来&#xff0c;首次出现了…...

高薪程序员必修课-java并发编程的bug源头

前言 Java并发编程虽然强大&#xff0c;但也容易引发复杂的bug。并发编程的bug主要源自以下几个方面&#xff1a;竞态条件、死锁、内存可见性问题和线程饥饿。了解这些bug的源头及其原理&#xff0c;可以帮助开发者避免和解决这些问题。以下是详细的讲解和相应的示例。 1. 竞态…...

c++:#include 某文件.h底层如何寻找其.cpp实现

在C中&#xff0c;当你编写了一个头文件&#xff08;如MyLibrary.h&#xff09;和对应的实现文件&#xff08;如MyLibrary.cpp&#xff09;时&#xff0c;其他源文件&#xff08;如main.cpp&#xff09;只需要包含头文件&#xff08;#include "MyLibrary.h"&#xff…...

uniapp中如何进行微信小程序的分包

思路&#xff1a;在uniapp中对微信小程序进行分包&#xff0c;和原生微信小程序进行分包的操作基本上没区别&#xff0c;主要就是在pages.json中进行配置。 如图&#xff0c;我新增了一个包diver-page 此时需要在pages.json中的subPackages数组中新增一项 root代表这个包的根…...

win10下安装PLSQL14连接Oracle数据库

问题背景 在使用Oracle开发过程中&#xff0c;经常会使用工具来连接数据库&#xff0c;方便查询、处理数据。其中有很多工具可以使用&#xff0c;比如dbeaver、plsql等。本文主要介绍在win10环境下&#xff0c;plsql14的安装步骤以及安装过程中遇到的一些问题。 安装步骤及问题…...

高考失利咨询复读,银河补习班客服开挂回复

补习班的客服在高考成绩出来后&#xff0c;需要用专业的知识和足够的耐心来回复各种咨询&#xff0c;聊天宝快捷回复软件&#xff0c;帮助客服开挂回复。 ​ 前言 高考成绩出来&#xff0c;几家欢喜几家愁&#xff0c;对于高考失利的学生和家长&#xff0c;找一个靠谱的复读补…...

java 代码块

Java中的代码块主要有三种类型&#xff1a;普通代码块、静态代码块、构造代码块。它们的用途和执行时机各不相同。 普通代码块&#xff1a;在方法内部定义&#xff0c;使用一对大括号{}包围的代码片段。它的作用域限定在大括号内&#xff0c;每当程序执行到该代码块时就会执行其…...

vue中避免多次请求字典接口

vuex缓存所有字典项 背景vuex管理所有字典项调用字典接口处理字典项数据的filter页面中使用字典 背景 每次用到字典都需要通过对应的字典type调用一次字典接口&#xff0c;当一个页面用到字典项很多时&#xff0c;接口请求炒鸡多&#xff0c;会导致接口响应超时。 本篇文章改为…...

Snappy使用

Snappy使用 Snappy是谷歌开源的压缩和解压的开发包&#xff0c;目标在于实现高速的压缩而不是最大的压缩 项目地址&#xff1a;GitHub - google/snappy&#xff1a;快速压缩器/解压缩器 Cmake版本升级 该项目需要比较新的cmake&#xff0c;CMake 3.16.3 or higher is requi…...

跨越重洋:在Heroku上配置Pip镜像源的终极指南

&#x1f310; 跨越重洋&#xff1a;在Heroku上配置Pip镜像源的终极指南 Heroku是一个支持多种编程语言的云平台即服务&#xff08;PaaS&#xff09;&#xff0c;它允许开发者部署和管理应用程序。然而&#xff0c;由于Heroku的服务器位于海外&#xff0c;直接使用Python的包管…...

SpringBoot + 虚拟线程,性能炸裂!

一、什么是虚拟线程 虚拟线程是Java19开始增加的一个特性&#xff0c;和Golang的携程类似&#xff0c;一个其它语言早就提供的、且如此实用且好用的功能&#xff0c;作为一个Java开发者&#xff0c;早就已经望眼欲穿了。 二、虚拟线程和普通线程的区别 “虚拟”线程&#xf…...

Java Character类

Character是char的包装类 转义序列 Character类的方法...

Python中的爬虫实战:猫眼电影爬虫

随着互联网技术的快速发展&#xff0c;网络上的信息量越来越庞大。猫眼电影作为国内领先的电影数据平台&#xff0c;为用户提供了全面的电影信息服务。本文将介绍如何利用python编写简单的猫眼电影爬虫&#xff0c;获取电影相关数据。 爬虫概述 爬虫&#xff0c;即网络爬虫&a…...

WAIC2024 | 华院计算邀您共赴2024年世界人工智能大会,见证未来科技革新

在智能时代的浪潮汹涌澎湃之际&#xff0c;算法已成为推动社会进步的核心力量。作为中国认知智能技术的领军企业&#xff0c;华院计算在人工智能的广阔天地中&#xff0c;不断探索、创新&#xff0c;致力于将算法的潜力发挥到极致。在过去的时日里&#xff0c;华院计算不断探索…...

数据库原理之数据库基本概念

目录 前言 基本概念 数据库完整性 前言 今天我们来看看数据库的基本概念&#xff0c;帮助大家对数据库有一点点最基本的了解 基本概念 4个基本概念 数据data&#xff1a;描述事物的符号&#xff0c;数据库中存储的基本对象。 数据库Database&#xff1a;长期存储在计算机…...

vue2项目的打包以及部署

打包 当我们写好vue2的项目后&#xff0c;可以通过npm build来对项目进行打包 npm build 打包完成后我们可以看到在当面目录下生成了dis目录,src下的文件都会被打包进这个目录里&#xff0c;当然打包后的文件我们不能直接在浏览器打开&#xff0c;需要进行部署 部署 1.新建一个…...

Java的全局异常处理代码

第一步&#xff1a;先写一个异常管理类: package com.example.firefighting.exceptions;import com.example.firefighting.utils.Result; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.RestControllerA…...

Hi3861 OpenHarmony嵌入式应用入门--LiteOS semaphore作为锁

CMSIS 2.0 接口中的 Semaphore&#xff08;信号量&#xff09;是用于嵌入式系统中多线程或中断服务例程&#xff08;ISR&#xff09;之间同步和共享资源保护的重要机制。Semaphore 是一种用于控制对多个共享资源访问的同步机制。它可以被看作是一个计数器&#xff0c;用于跟踪可…...

注意!年龄越大,社交圈子越窄?其实这是老人的理性选择!数学家告诉你:何时该跳槽,何时该坚守!你必须知道的三个智慧:让你的人生更加精彩!

我们到底应该在什么情况下探索新事物&#xff0c;什么情况下专注于已有的东西呢&#xff1f;本质上来说&#xff0c;这个问题就是在询问&#xff0c;你究竟应该耗费精力去探索新的信息&#xff0c;还是专注从既有的信息中获取收获&#xff1f; 有人采访了临终的老人&#xff0c…...

[SwiftUI 开发] 嵌套的ObservedObject中的更改不会更新UI

1. 发生问题的demo 业务逻辑代码 class Address: ObservableObject {Published var street "123 Apple Street"Published var city "Cupertino" }class User: ObservableObject {Published var name "Tim Cook"Published var address Addr…...

全面了解机器学习

目录 一、基本认识 1. 介绍 2. 机器学习位置 二、机器学习的类型 1. 监督学习 2. 无监督学习 3. 强化学习 三、机器学习术语 1. 训练样本 2. 训练 3. 特征 4. 目标 5. 损失函数 四、机器学习流程 五、机器学习算法 1. 分类算法 2. 聚类算法 3. 关联分析 4. …...

作为图形渲染API,OpenGL和Direct3D的全方位对比。

当你在网页看到很多美轮美奂的图形效果&#xff0c;3D交互效果&#xff0c;你知道是如何实现的吗&#xff1f;当然是借助图形渲染API了&#xff0c;说起这个不就不得说两大阵营&#xff0c;OpenGL和Direct3D&#xff0c;贝格前端工场在本文对二者做个详细对比。 一、什么是图形…...

安装Rabbitmq遇到的坑

&#xff01;&#xff01;&#xff01;一定要对号版本号 不同的虚拟机unbontu、cetenos和不同的erlang和不同的rabbitmq之间要对应下载对应版本 下面给出我的版本centos7erlangrabbitmq 分割线 安装好后&#xff0c;如果在虚拟机的服务器上可以打开&#xff0c;在本地浏览器…...

React+TS 从零开始教程(4):useEffect

上一节传送门&#xff1a;ReactTS 从零开始教程&#xff08;3&#xff09;&#xff1a;useState 源码链接&#xff1a;https://pan.quark.cn/s/c6fbc31dcb02 上一节&#xff0c;我们已经学会了React的第一个Hook&#xff1a;useState。 这一节&#xff0c;我们要学习的是另一…...

网络安全学习路线图(2024版详解)

近期&#xff0c;大家在网上对于网络安全讨论比较多&#xff0c;想要学习的人也不少&#xff0c;但是需要学习哪些内容&#xff0c;按照什么顺序去学习呢&#xff1f;其实我们已经出国多版本的网络安全学习路线图&#xff0c;一直以来效果也比较不错&#xff0c;本次我们针对市…...

你了解人工智能吗?

前言 人工智能&#xff08;Artificial Intelligence&#xff0c;AI&#xff09;是计算机科学的一个重要分支&#xff0c;致力于开发能够执行通常需要人类智能的任务的系统。本文将从历史发展、关键技术、应用领域以及未来挑战等方面&#xff0c;深入探讨人工智能的相关内容。 …...

如何使用Vue.js实现动态文档生成与下载功能

在现代Web应用开发中&#xff0c;用户往往需要在浏览器端完成复杂的操作&#xff0c;如生成和下载特定格式的文档&#xff0c;而无需服务器直接干预。本文将以一个Vue.js应用程序为例&#xff0c;详细介绍如何利用axios&#xff08;或自定义请求模块&#xff09;结合FileReader…...

web基础及http协议

一、WEB&#xff1a;就是我们所说的页面&#xff0c;点开的每个页面都是web。&#xff08;全球广域网、万维网&#xff09; 分布式图形信息系统&#xff1a;同一个服务&#xff0c;但是部署在不同的机器上且提供的服务和内容全部一致&#xff0c;集群就是建立在分布式的基础上。…...

【vuejs】vue-router 之 addRoute 动态路由的应用总结

1. Vue Router 概述 Vue Router 是 Vue.js 官方的路由管理器&#xff0c;用于构建单页面应用。它与 Vue.js 深度集成&#xff0c;让开发者能够轻松地构建具有复杂用户界面的单页面应用。Vue Router 允许你定义不同的路由&#xff0c;并通过 router-view 组件在应用中显示匹配的…...

LeetCode 30. 串联所有单词的子串

LeetCode 30. 串联所有单词的子串 给定一个字符串 s 和一个字符串数组 words。 words 中所有字符串 长度相同。 s 中的 串联子串 是指一个包含 words 中所有字符串以任意顺序排列连接起来的子串。 例如&#xff0c;如果 words [“ab”,“cd”,“ef”]&#xff0c; 那么 “abcd…...

python本学期所有代码!

第一单元 ----------------------------------------------------------------------- #圆面积的计算 radius 25 area 3.1415 * radius * radius print(area) print("{:.2f}".format(area)) --------------------------------------------------------------------…...

武汉星起航:无锡跨境电商加速“出海”,物流升级助品牌全球布局

随着全球化的不断深入&#xff0c;跨境电商作为数字外贸的新业态&#xff0c;正逐渐成为无锡企业拓展海外市场的重要渠道。武汉星起航关注到&#xff0c;近年来&#xff0c;无锡市通过积极推进国际物流枢纽建设&#xff0c;完善海外仓布局&#xff0c;以及各特色产业带的积极参…...

Python+Pytest+Allure+Yaml+Pymysql+Jenkins+GitLab接口自动化测试框架详解

PythonPytestAllureYaml接口自动化测试框架详解 编撰人&#xff1a;CesareCheung 更新时间&#xff1a;2024.06.20 一、技术栈 PythonPytestAllureYamlJenkinsGitLab 版本要求&#xff1a;Python3.7.0,Pytest7.4.4,Allure2.18.1,PyYaml6.0 二、环境配置 安装python3.7&…...

stm32-hal库(5)--usart串口通信三种模式(主从通信)(关于通信失败和串口不断发送数据问题的解决)

问题&#xff1a; 最近发现&#xff0c;stm32cubemx最新版本f1系列的hal库&#xff08;1.85版本&#xff09;生成的hal库&#xff0c;其中stm32f1xx_hal_uart.c的库文件中&#xff0c;其串口发送接收存在一些问题&#xff1a; 1.没有使用 __HAL_LOCK 和 __HAL_UNLOCK 宏&…...

一文学会LVS:概念、架构、原理、搭建过程、常用命令及实战案例

引言 随着互联网技术的飞速发展&#xff0c;服务器负载均衡技术变得越来越重要。LVS&#xff08;Linux Virtual Server&#xff09;作为一种高效的负载均衡解决方案&#xff0c;广泛应用于各大企业的生产环境中。本文将深入探讨LVS的概念、架构、工作原理&#xff0c;详细讲解其…...

[Go 微服务] Kratos 使用的简单总结

文章目录 1.Kratos 简介2.传输协议3.日志4.错误处理5.配置管理6.wire 1.Kratos 简介 Kratos并不绑定于特定的基础设施&#xff0c;不限定于某种注册中心&#xff0c;或数据库ORM等&#xff0c;所以您可以十分轻松地将任意库集成进项目里&#xff0c;与Kratos共同运作。 API -&…...

【unity实战】使用旧输入系统Input Manager 写一个 2D 平台游戏玩家控制器——包括移动、跳跃、滑墙、蹬墙跳

最终效果 文章目录 最终效果素材下载人物环境 简单绘制环境角色移动跳跃视差和摄像机跟随效果奔跑动画切换跳跃动画&#xff0c;跳跃次数限制角色添加2d物理材质&#xff0c;防止角色粘在墙上如果角色移动时背景出现黑线条方法一方法二 墙壁滑行实现角色滑墙不可以通过移动离开…...

【实战】EasyExcel实现百万级数据导入导出

文章目录 前言技术积累实战演示实现思路模拟代码测试结果 前言 最近接到一个百万级excel数据导入导出的需求&#xff0c;大概就是我们在进行公众号API群发的时候&#xff0c;需要支持500w以上的openid进行群发&#xff0c;并且可以提供发送openid数据的导出功能。可能有的同学…...

逻辑图框架图等结构图类图的高效制作方式不妨进来看看

**逻辑图框架图等结构图类图的高效制作方式不妨进来看看** 基于我们每天都在处理大量的数据和信息。为了更清晰地理解和传达这些信息&#xff0c;结构图、逻辑图和框架图等可视化工具变得越来越重要。然而&#xff0c;如何高效地制作这些图表并确保其准确性和易读性呢&#xf…...

Spring Boot + liteflow 居然这么好用!实战

在我们的日常开发中&#xff0c;经常会遇到一些需要串行或并行处理的复杂业务流程。 那我们该如何利用Spring Boot结合liteflow规则引擎来简化我们的业务流程 先看一个实战案例&#xff01;&#xff01; 在电商场景下&#xff0c;当订单完成后&#xff0c;我们需要同时进行积…...

Excel 中的元素定位:相对定位、绝对定位和混合定位

在Excel中&#xff0c;单元格引用有三种主要类型&#xff1a;相对定位、绝对定位和混合定位。 这些类型主要用于公式和函数中&#xff0c;决定在复制或拖动公式时引用如何变化。 1. 相对定位 相对定位指的是不带“$”符号的单元格引用&#xff0c;例如 A1。 这种引用方式在…...

C语言初阶——实用调试技巧(新课学习)

#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> strcpy 字符串拷贝 char * strcpy (char * destination, const char * source); #include<string.h>//strcpy头文件int main() { char arr1[20] { 0 };//char arr1[20] "woshishui"; ch…...

第四十五章 在 SOAP 消息中使用数据集 - 以 XML 形式查看数据集和架构

文章目录 第四十五章 在 SOAP 消息中使用数据集 - 以 XML 形式查看数据集和架构以 XML 形式查看数据集和架构对 WSDL 的影响 第四十五章 在 SOAP 消息中使用数据集 - 以 XML 形式查看数据集和架构 以 XML 形式查看数据集和架构 扩展 %XML.DataSet 的数据集在具有可用于生成 X…...

Laravel视图:构建动态用户界面的基石

标题&#xff1a;Laravel视图&#xff1a;构建动态用户界面的基石 在Laravel框架中&#xff0c;视图&#xff08;View&#xff09;是负责呈现最终用户界面的部分。它们是将应用的数据展示给用户的模板。Laravel的视图系统非常强大&#xff0c;支持多种模板引擎&#xff0c;包括…...

申城下周晴雨参半,高考期间多阴雨天气

东方网记者包永婷6月2日报道:这个双休日的天气很配合儿童节和出行,上海今天较昨天更加晴朗,蓝天白云的景象也赏心悦目。气温加快上升的步伐,徐家汇站最高气温止步28.2℃,午间有些热有些晒,早晚依旧延续着舒适的体感。明天会是近期最晴最热的一天,多云到晴为主,气温起步2…...

提升服务小微企业质效多方共促汇率避险成本降低

当前,随着人民币汇率市场化形成机制不断完善,人民币汇率在合理均衡水平上双向波动已成为常态。越来越多的企业树立汇率风险中性理念,通过金融衍生产品等方式有效管理外汇汇率风险。国家外汇管理局数据显示,今年一季度,企业利用远期、掉期、期权等外汇衍生产品管理汇率风险…...

15.99万起奇瑞风云T9开启预售,这是不得不知道的几点

奇瑞风云T9正式开启了预售,此次公布的是120km长续航版的预售价格,预售区间为15.99-19.99万元。那么新车有哪些亮点呢?一起来看下。紧凑型SUV价格给你7座布局奇瑞风云T9官方给它的定位是紧凑型SUV,但它的车身尺寸其实并不小,车身尺寸为4795/1930/1738mm,轴距为2770mm。这个…...

100个 Unity小游戏系列五 -Unity 抽奖游戏专题三老虎机游戏

一、演示效果 二、知识点讲解 2.1 布局 public void CreateItems(SlotsData[] slotsData){isInited false;slotsPrizeList new List<SlotsData>();for (int i 0; i < slotsData.Length; i){var item slotsData[i];slotsPrizeList.Add(item);}float bottomY -it…...

(文章复现)分布式电源接入配电网承载力评估方法研究

参考文献&#xff1a; [1]郝文斌,孟志高,张勇,等.新型电力系统下多分布式电源接入配电网承载力评估方法研究[J].电力系统保护与控制,2023,51(14):23-33. 1.摘要 随着光伏和风电等多种分布式电源的接入&#xff0c;使得传统配电网的结构及其运行状态发生了较大改变。因此&…...

Midjourne进阶篇 | 个性化潮玩

当Midjourney遇上潮玩&#xff0c;你想不到的惊艳&#xff01; 前言盲盒魔法公式**01.嘻哈潮玩****02.荧光猫少女****03.古风剑侠****04.音乐节少年****05.Q版古风少女** 总结 前言 以前&#xff0c;制作盲盒需要专业盲盒设计师完成&#xff0c;对于大部分人来说&#xff0c;这…...