PHP变量和常量(基础语法)

news2024/12/24 12:27:28

文章目录

  • PHP变量和常量(基础语法)
    • 简介
      • 变量
      • 常量
    • PHP中的变量
      • 变量基础
      • 全局变量
      • 超全局变量
      • 静态变量
    • PHP常量基础
    • 总结

PHP变量和常量(基础语法)

简介

变量和常量是编程语言中不可或缺的元素,它们类似于盒子,用于存储和操作数据。这两个概念对于编写可读性强、可维护性高的代码非常关键。

变量

变量是一种存储数据的容器,我们可以为变量命名并将数据赋值给它。通过变量,我们可以在程序中保存和操作各种类型的数据,如数字、字符串或对象等。变量的值可以在程序执行过程中随时更改。

在编程中,变量的命名应具有描述性和易读性,以便提高代码的可维护性。通过赋值操作符将数据分配给变量,例如$name = "John";将字符串"John"赋值给变量$name。在需要使用这个值时,只需引用该变量即可,而无需直接操作数据本身,这样代码更具可读性。

常量

常量也是一种存储数据的容器,与变量不同的是,常量的值在定义后无法更改。常量一旦定义就始终保持不变,这使得在程序中使用恒定的值更加安全和可靠。

常量通常用于存储程序中不会变化的固定值,如数学常数、配置参数或某些约定的值。常量的命名约定为全大写字母,以便与变量进行区分。

PHP中的变量

变量基础

PHP中的变量是用于存储和操作数据的标识符。变量可以包含各种数据类型,如字符串、整数、浮点数、布尔值、数组、对象等。以下是关于PHP变量的一些重要概念和用法:

  1. 变量命名:

    • 变量名以美元符号($)开头,后面跟随一个合法的标识符(字母、数字和下划线,但不能以数字开头)。
    • 变量名区分大小写,$name 和 $NAME 是不同的变量。
  2. 变量赋值:

    • 使用赋值操作符(=)将值赋给变量。例如:$name = “John”; 将字符串"John"赋值给变量$name。
    • 在赋值之前无需显式声明变量,PHP会根据赋值操作隐式地创建变量。
  3. 变量数据类型:

    • PHP是一种动态类型语言,变量的数据类型会根据赋值语句自动推断。
    • 可以使用var_dump()函数来检查变量的数据类型和值。
  4. 变量作用域:

    • 变量的作用域指的是变量的可访问范围。
    • 全局变量:在函数外部定义的变量,在整个脚本中可访问。
    • 局部变量:在函数内部定义的变量,只能在函数内部访问。
    • 静态变量:在函数内部定义的静态变量会在函数执行完成后仍然保持其值。
    • 超级全局变量:PHP提供了一些特殊变量,称为超级全局变量,如 $_GET、$_POST、$_SESSION等,它们在整个脚本中都可访问。
  5. 变量的引用:

    • 默认情况下,PHP中的变量赋值是按值传递的,即复制变量的值到新变量中。
    • 通过使用&操作符,可以创建变量的引用,使两个变量引用同一个值,对一个变量的修改会影响另一个变量。
  6. 变量的销毁:

    • 可以使用unset()函数来销毁一个变量,释放其内存空间。
    • 销毁后的变量无法再次访问或使用,尝试访问会引发一个错误。

全局变量

全局变量是在程序的任何地方都能够访问的变量,无论是在函数内部还是在函数外部。在PHP中,全局变量可以在整个脚本中被使用。

下面是关于PHP全局变量的几个重要点:

  1. 声明全局变量:

    • 在函数外部使用$GLOBALS超级全局数组声明全局变量。例如,$GLOBALS['name'] = "John";
    • 在函数内部和函数外部都可以访问$GLOBALS数组中的全局变量。
  2. 访问全局变量:

    • 在函数内部访问全局变量时,需要使用global关键字进行引用。
    • 通过global关键字,可以将函数内部的变量与全局变量进行关联。
    • 示例:
      $name = "John"; // 全局变量
      
      function printName() {
          global $name; // 引用全局变量
          echo $name;
      }
      
      printName(); // 输出:"John"
      

超全局变量

超级全局变量是在PHP中预定义的一些特殊变量,它们在脚本的任何地方都是可访问的,无需特殊声明或引用。以下是一些常见的超级全局变量:

  • $_SERVER:包含有关服务器和执行环境的信息,
  • $_SERVER['PHP_SELF']:当前执行脚本的文件名。

     $scriptName = $_SERVER['PHP_SELF'];
     echo "当前执行脚本的文件名:$scriptName";
    

image-20230719143111345

  • $_SERVER['SERVER_NAME']:当前运行脚本的服务器主机名。

image-20230719143144031

  • $_SERVER['HTTP_HOST']:当前请求的主机头(Host)值。

image-20230719143228351

  • $_SERVER['HTTP_REFERER']:引导用户代理到当前页面的引用来源的完整 URL。

image-20230719143247259

  • $_SERVER['HTTP_USER_AGENT']:当前用户代理的用户代理字符串(浏览器信息)。

image-20230719143312911

  • $_SERVER['REQUEST_METHOD']:当前请求的 HTTP 方法(GET、POST、PUT等)。

image-20230719143344153

  • $_SERVER['QUERY_STRING']:当前请求的查询字符串部分(URL中的参数)。

image-20230719143407171

  • $_SERVER['REMOTE_ADDR']:正在访问当前页面的用户的 IP 地址。

image-20230719143424612

  • $_SERVER['REQUEST_URI']:当前页面的相对路径(不包括域名)。

image-20230719143508054

这些只是$_SERVER超级全局变量中的一些常用参数,还有其他可用的参数。

image-20230719143620771

  • $_GET:用于获取通过URL查询字符串传递的参数,以关联数组的形式存储。

$_GET 是 PHP 中一个有用的超级全局变量,用于获取通过 URL 查询字符串传递的参数。当使用 GET 方法提交表单或通过 URL 中的查询字符串传递参数时,可以使用 $_GET 获取这些参数。下面是使用 $_GET 的示例:

假设有以下 URL:http://example.com/?name=John&age=25

 $name = $_GET['name'];
    $age = $_GET['age'];
    echo "姓名:$name";
    echo "年龄:$age";

可以传递多个参数(键值对)作为查询字符串,并使用 $_GET 将其解析为关联数组:

// 获取所有参数
$p = $_GET;

// 打印查询参数
print_r($p);

上述代码将输出类似以下的结果(用于上述 URL):

Array
(
    [name] => John
    [age] => 25
)

image-20230719144318547

需要注意的是,$_GET 返回的是字符串类型的参数值。如果需要将参数值转换为其他类型(如整数),可以使用适当的转换函数,例如 intval()floatval() 等。

在使用 $_GET 获取参数时,应该注意安全问题。始终对获取的值进行验证和过滤,以防止潜在的安全漏洞,例如使用过滤函数(如 htmlspecialchars())来避免跨站脚本攻击(XSS)等问题。

  • $_POST:用于获取通过 POST 方法提交的参数,以关联数组的形式存储。

$_POST 是 PHP 中一个有用的超级全局变量,用于获取通过 POST 方法提交的参数。当使用表单提交或通过 POST 请求向服务器发送数据时,可以使用 $_POST 获取这些参数。下面是使用 $_POST 的示例:

假设有以下 HTML 表单:

<form method="POST" action="process.php">
   <input type="text" name="name">
   <input type="text" name="age">
   <input type="submit" value="Submit">
</form>

process.php 文件中,可以使用 $_POST 获取表单中提交的参数:

$name = $_POST['name'];
$age = $_POST['age'];

echo "Name: $name"; // 输出表单中输入的内容
echo "Age: $age"; // 输出表单中输入的内容

$_GET 类似,当表单包含多个字段时,$_POST 将解析为关联数组,其中字段的名称作为关联数组中的键。

// 获取所有参数
$params = $_POST;

// 打印参数
print_r($params);

上述代码将输出类似以下的结果:

Array
(
    [name] => John
    [age] => 25
)

需要注意的是,$_POST 返回的是字符串类型的参数值。如果需要将参数值转换为其他类型(例如整数),可以使用适当的转换函数,例如 intval()floatval() 等。

$_GET$_POST 是 PHP 中两个不同的超级全局变量,用于获取通过不同HTTP方法提交的参数。

主要区别如下:

  1. 数据传输方式:$_GET 使用URL查询字符串传递参数,而 $_POST 使用HTTP POST 方法传递参数。

  2. 数据隐藏性:$_GET 的参数显示在URL中,可以被用户看到和修改。而 $_POST 的参数在请求体中传输,对用户不可见。

  3. 数据长度:由于URL长度限制,$_GET 对所传递参数的大小有较小的限制。而 $_POST 通常没有明确大小限制。

  4. 安全性:$_POST 相对于 $_GET 更安全,因为在传递参数时不会像 $_GET 一样将参数暴露在URL中。

常见的使用场景:

  • $_GET 常用于获取页面链接中的参数,如网页搜索,分页,传递简单数据等。它适合传递少量非敏感数据。

  • $_POST 常用于提交表单以及传输敏感数据,如登录、注册等。

  • $_REQUEST:包含了$_GET$_POST$_COOKIE的值,可以获取来自请求的用户输入。

$_REQUEST 是一个包含了 $_GET$_POST$_COOKIE 的值的超级全局变量。它用于获取来自请求的用户输入和cookie的值,无论数据是通过URL查询字符串、HTTP POST方法还是通过Cookie传递。

$_REQUEST 的优点是方便和简洁,它能够在一次请求中获取到多种类型的数据。以下是使用 $_REQUEST 的示例:

// 对于URL查询字符串 ?name=John&age=25
$name = $_REQUEST['name'];
$age = $_REQUEST['age'];

echo "Name: $name"; // 输出:John
echo "Age: $age"; // 输出:25
// 对于通过POST方法提交的表单
$name = $_REQUEST['name'];
$age = $_REQUEST['age'];

echo "Name: $name"; // 输出表单中输入的内容
echo "Age: $age"; // 输出表单中输入的内容
// 对于通过Cookie传递的值
$value = $_REQUEST['cookie_name'];

echo "Cookie Value: $value"; // 输出Cookie的值
  • $_SESSION:用于访问和操作会话中存储的变量。

$_SESSION 是 PHP 中一个有用的超级全局变量,用于访问和操作会话中存储的变量。会话(session)是一种在服务器端存储和跟踪用户信息的机制,可以跨不同页面和请求进行数据共享。

要开始一个会话,在每个使用 $_SESSION 的页面或脚本的开头需要调用 session_start() 函数。

下面是使用 $_SESSION 的示例:

在第一个页面(例如,login.php):

// 启动会话
session_start();

// 存储用户信息到会话变量中
$_SESSION['username'] = 'John';
$_SESSION['email'] = 'john@example.com';

echo "Session data is set.";

在另一个页面:

// 启动会话
session_start();

// 打印会话变量中的用户信息
echo "Username: " . $_SESSION['username'];
echo "Email: " . $_SESSION['email'];

在会话中,可以存储和访问任意类型的数据,如用户身份验证信息、用户配置等。

要销毁会话及其数据,可以使用 session_unset() 函数清除会话变量,然后使用 session_destroy() 函数终止会话。

session_start();

// 清除会话变量
session_unset();

// 终止会话
session_destroy();

需要注意的是,要使用 $_SESSION,需要在每个页面或脚本的开头调用 session_start() 函数,以确保会话会话数据可用。

  • $_COOKIE:用于访问客户端提交的cookie值,以关联数组的形式存储。

$_COOKIE 是 PHP 中一个有用的超级全局变量,用于访问和操作存储在客户端的 cookie 值。Cookie 是一种在客户端存储数据的机制,可以用于在不同页面和请求之间存储和传递信息。

Cookie 在服务器端设置,并在客户端的浏览器中存储为键值对。当客户端向服务器发送请求时,浏览器会自动将相关的 cookie 数据包含在请求的头部中发送给服务器。

可以使用 $_COOKIE 来获取和操作客户端发送的 cookie 值。下面是使用 $_COOKIE 的示例:

// 获取单个 cookie 值
$cookieValue = $_COOKIE['cookie_name'];
echo "Cookie Value: $cookieValue";
// 获取所有 cookie 值
$allCookies = $_COOKIE;
print_r($allCookies);

在上述代码中,cookie_name 是 cookie 的名称,通过 $_COOKIE['cookie_name'] 可以获取对应的值。

要设置一个 cookie,使用 setcookie() 函数。setcookie() 函数需要传递参数来设置 cookie 的名称、值、有效期等。

// 设置一个 cookie
setcookie('cookie_name', 'cookie_value', time() + 3600, '/');

上述代码将创建一个名为 cookie_name 的 cookie,值为 cookie_value,有效期为 3600 秒(1小时),并在整个域名下都可访问。

需要注意的是,要使用 $_COOKIE,浏览器必须在请求中发送相应的 cookie 数据。如果在设置 cookie 之后直接访问 $_COOKIE,则可能无法获取到新设置的 cookie 值。通常,设置 cookie 后,下一次请求才会将 cookie 数据发送给服务器。

cookie 和session 的区别

Cookie和Session是用于在Web应用程序中存储和跟踪用户信息的机制,它们有以下主要区别:

存储位置:

  • Cookie存储在客户端(浏览器)中,通过HTTP头部在客户端和服务器之间传输。
  • Session存储在服务器端,通常使用文件系统或数据库来保存会话数据,而客户端仅保存一个与会话关联的唯一标识符(Session ID)。

内容:

  • Cookie可以存储少量的文本数据,通常用于存储用户首选项、登录状态或其他简单的键值对。
  • Session可以存储更大量的数据,可以存储复杂的对象、用户认证信息等。

安全性:

  • Cookie是存储在客户端的,因此对于敏感信息,必须考虑加密和安全传输,以防止未经授权的访问或篡改。
  • Session数据存储在服务器端,对于客户端而言,它只是一个Session ID,实际的数据和操作都在服务器端进行,因此相对较安全。

生命周期:

  • Cookie可以设置过期时间,可以是会话级别的(当浏览器关闭时失效)或固定的过期时间。
  • Session可以设定过期时间或者根据用户的活动时间来决定过期时间。当用户长时间不活动时,会话可以自动过期。

可扩展性:

  • Cookie可以在客户端被禁用或限制,某些浏览器可能限制每个站点可以存储的Cookie数量和大小。
  • Session存储在服务器端,可以存储更多的数据,并且不受客户端限制。

使用场景:

  • Cookie适用于需要持久化数据到客户端的场景,例如记住用户登录状态、跟踪用户首选项等。
  • Session适用于存储和跟踪动态数据,例如购物车信息、用户认证和权限信息等。
  1. $_FILES:用于访问通过 HTTP POST 方式上传的文件,以关联数组的形式存储。

$_FILES 是一个包含通过 HTTP POST 方法上传的文件的信息的超级全局变量。它是一个关联数组,每个上传的文件信息在数组中对应一个元素。

当使用 HTML 表单中的 <input type="file"> 元素上传文件时,可以通过 $_FILES 获取上传文件的相关信息。下面是使用 $_FILES 的示例:

在使用文件上传的 HTML 表单中,必须将表单的 enctype 属性设置为 multipart/form-data,用于指明表单需要以多部分(multipart)格式进行编码发送。

<form method="POST" action="upload.php" enctype="multipart/form-data">
   <input type="file" name="file">
   <input type="submit" value="上传">
</form>

upload.php 文件中,可以使用 $_FILES 来获取上传的文件信息:

// 获取上传的文件信息
$file = $_FILES['file'];

// 打印上传文件相关信息
print_r($file);

通过上述代码,可以获取上传的文件的属性,如文件名、文件类型、上传临时文件的路径等。$_FILES 是一个关联数组,其中各个键值的含义如下:

  • 'name':上传文件的原始文件名。
  • 'type':上传文件的 MIME 类型。
  • 'tmp_name':上传文件的临时存储位置。
  • 'error':上传过程中的错误代码(若无错误则为0)。
  • 'size':上传文件的大小(字节)。

需要注意的几个事项:

  • $_FILES 只会在使用 POST 方法上传文件时才会包含文件信息。
  • 上传的文件会被存储在服务器的临时目录中,使用 PHP 的 move_uploaded_file() 函数将文件移动到指定位置。
  • 在处理上传的文件时,应该对文件的类型、大小、扩展名等进行验证和控制,以确保安全性和数据完整性。
  • $_ENV:包含有关环境变量的信息,如操作系统、服务器软件等。

$_ENV 是 PHP 中的一个预定义超级全局变量,用于获取环境变量的值。环境变量是在操作系统环境中设置的一组值,可用于存储系统配置、路径信息、数据库连接参数等。通过 $_ENV 可以获取这些环境变量的值。

下面是一些使用 $_ENV 的示例:

// 获取单个环境变量的值
$home = $_ENV['HOME'];
echo "Home directory: $home";
// 获取所有环境变量的值
$envVars = $_ENV;
print_r($envVars);

在上述代码中,HOME 是一个环境变量的名称,通过 $_ENV['HOME'] 可以获取到它的值。

需要注意的是,可用的环境变量和其命名方式可能因操作系统和服务器配置而异。因此,确保检查并使用正确的环境变量名称。

此外,环境变量通常用于敏感信息(如数据库凭据),需要确保在使用时进行正确的保护和处理。避免在公开的代码或输出中直接使用环境变量的值,以免信息泄露或安全漏洞。

  • $GLOBALS:是一个全局变量的关联数组,用于在脚本中访问全局变量。

$GLOBALS 是 PHP 中一个预定义的超级全局变量,它是一个包含了全局作用域中的所有变量的全局关联数组。这意味着在任何地方都可以通过 $GLOBALS 访问和操作全局范围内的变量,无论这些变量是在全局作用域中定义的还是在函数内部。

$GLOBALS 的键是变量的名称,值是存储在该变量中的数据。可以对 $GLOBALS 进行读取、写入和操作,从而实现对全局范围内的变量进行访问和修改。

以下是一些使用 $GLOBALS 的示例:

// 在全局作用域中定义一个变量
$globalVariable = 42;

// 访问全局变量
echo $GLOBALS['globalVariable']; // 输出 42
// 在函数内部访问全局变量
function getGlobalVariable() {
    return $GLOBALS['globalVariable'];
}

echo getGlobalVariable(); // 输出 42
// 修改全局变量的值
$GLOBALS['globalVariable'] = 99;
echo $globalVariable; // 输出 99

需要注意的是,使用 $GLOBALS 访问全局变量可能会降低代码的可读性和可维护性。全局变量的使用应谨慎,在代码中应尽量避免过度依赖全局变量,因为全局变量的修改会对程序的行为产生深远的影响。

超级全局变量在PHP开发中非常有用,它们提供了方便的访问用户请求、环境变量、会话数据等的方式。但在使用时,要注意对用户输入进行验证和过滤,以确保安全性。同时,为了代码的可读性和可维护性,建议在使用超级全局变量时进行适当的检查和处理,以处理可能的缺失或无效键的情况。

静态变量

静态变量是在函数或类中声明的特殊类型的变量。静态变量与普通变量相比具有以下特点:

  1. 静态变量只在首次调用声明和初始化时被分配内存,而不是每次函数或方法调用时都被初始化。它们在整个生命周期内保持其值,直到脚本结束或类销毁。
  2. 静态变量是与类或函数本身关联的,而不是特定的实例或调用。这意味着在一个类的多个实例中,静态变量的值是共享的。
  3. 静态变量可以在类中的方法中访问,方法可以在任何实例化对象之前调用,或者可以通过类本身访问。

下面是静态变量的示例:

function increment() {
    static $count = 0;
    $count++;
    echo $count;
}

increment(); // 输出 1
increment(); // 输出 2
increment(); // 输出 3

在上述示例中,$count 是一个静态变量。它仅在第一次调用 increment() 函数时被初始化为 0,然后每次调用 increment() 函数时递增并显示当前值。

image-20230719153113634

静态变量在类中也有类似的用法:

class MyClass {
    static $count = 0;

    public function increment() {
        self::$count++;
        echo self::$count;
    }
}

$obj1 = new MyClass();
$obj1->increment(); // 输出 1

$obj2 = new MyClass();
$obj2->increment(); // 输出 2

$obj1->increment(); // 输出 3

在以上示例中,$count 是一个类的静态变量。它可以通过 self::$count 语法访问和修改。

image-20230719153200417

静态变量在某些情况下非常有用,比如计数器、缓存和记录共享状态等。然而,由于静态变量的特殊性,需要小心使用,以避免潜在的副作用和不可预测的问题。

PHP常量基础

在PHP中,常量是一个固定的值,在脚本运行期间不可改变。常量的命名约定是使用大写字母,以便于在代码中识别和区分。

以下是定义和使用常量的基础知识:

  1. 定义常量:

    • 使用 define() 函数定义常量。通常情况下,常量名称以字母或下划线开头,只能包含字母、数字和下划线,且不能以数字开头。
    • 语法:define("常量名称", "常量值");
    • 使用conts关键字定义常量
    • 语法:conts PI = 3.14
  2. 使用常量:

    • 声明后的常量可以直接在代码中使用,不需要使用 $ 符号。直接使用常量名称即可获取其值。
  3. 常量的作用域:

    • 常量的作用域是全局的,可以在脚本的任何地方使用。
    • 与变量不同,常量在声明后的整个脚本中均可访问,无需担心作用域问题。
  4. 魔术常量:

    • PHP提供了一些特殊的常量,称为魔术常量(Magic Constants),可以提供关于脚本运行环境的信息.

    • 魔术常量是在 PHP 中预定义的一组特殊常量,它们提供了有关代码运行环境和上下文的信息。这些常量不需要事先定义,而是可以直接在脚本中使用。

      以下是一些常见的魔术常量:

      __LINE__:表示当前代码所在的行数。

      __FILE__:表示当前文件的完整路径和文件名。

      __DIR__:表示当前文件所在的目录。`

      __FUNCTION__:表示当前函数的名称。

      __CLASS__:表示当前类的名称。

      __TRAIT__:表示当前 trait 的名称。

      __METHOD__:表示当前方法的名称。`

      __NAMESPACE__:表示当前命名空间的名称。

      这些魔术常量以双下划线开头和结尾,通过直接使用它们,可以获取到对应的信息。

      例如,__LINE__ 可以用于在脚本中输出当前的行号。

      魔术常量在开发过程中非常有用,可以帮助调试代码、获取文件名和路径、跟踪函数调用等。但是需要注意的是,魔术常量的值是在编译时确定的,并且对于每个文件和函数而言,其值在运行时是不可变的。而且,它们是区分大小写的。

常量在PHP中广泛用于存放固定的配置信息、标识状态或编码中的常用值,以提高代码的可读性和可维护性。建议在需要使用固定值并且不希望在脚本执行期间被修改的情况下使用常量。

总结

变量和常量在编程语言中是不可或缺的元素,它们为我们提供了在程序中保存和操作数据的方式。通过合理利用变量和常量,可以提高代码的可读性、可维护性和灵活性。良好的变量和常量命名习惯以及正确使用它们,将有助于开发高质量的代码,并提高的编程效率。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/783277.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

06 QT自定义信号和槽

案例&#xff1a;创建教师类和学生类&#xff0c;教师发出自定义hungry信号&#xff0c;学生响应信号&#xff0c;执行treat函数。 创建老师和学生类&#xff08;由于老师和学生不是控件&#xff0c;所以选择QObject作为基类&#xff09; 1&#xff1a;老师发送自定义信号&…

「深度学习之优化算法」(十七)灰狼算法

1. 灰狼算法简介 (以下描述,均不是学术用语,仅供大家快乐的阅读)   灰狼算法(Grey Wolf Algorithm)是受灰狼群体捕猎行为启发而提出的算法。算法提出于2013年,仍是一个较新的算法。目前为止(2020)与之相关的论文也比较多,但多为算法的应用,应该仍有研究和改进的余…

Qgis二次开发-实现缩略图、标注

1.效果图 2.简介 因为上述动作是和画布进行交互&#xff0c;所以首先需要自定义一个地图交互工具类&#xff0c;由于做的比较简单&#xff0c;只需要重写实现鼠标点击事件。 void canvasPressEvent(QgsMapMouseEvent *e) override; 其次就是在地图画布上画标注图片(svg格式)…

Docker中的网络

文章目录 一、Docker 网络1.1 Docker 网络实现原理1.2 查看容器的输出和日志信息Docker 的网络模式 二、资源控制2.1 CPU 资源控制2.2 对内存使用的限制 一、Docker 网络 1.1 Docker 网络实现原理 Docker使用Linux桥接&#xff0c;在宿主机虚拟一个Docker容器网桥(docker0)&a…

CentOS7安装并远程连接MySQL8.0.33

一、前言 学习MySQL进阶篇时需要在CentOS上安装MySQL&#xff0c;然后远程连接使用&#xff0c;于是就抽了两天时间把瑞吉外卖的Linux篇给看了95% 本篇是摘选了学习笔记中关于安装MySQL的部分&#xff0c;作为参考也作为分享 二、安装MySQL 先检测当前系统中是否已安装MySQL…

平头哥 TH1520 RISC-V BeagleV-Ahead使用Thead-Yocto自定义构建系统 最详细版本

使用Thead-Yocto自定义BeagleV-Ahead系统 Thead-Yocto简述 官网&#xff1a;https://www.yoctoproject.org/ THE YOCTO PROJECT. IT’S NOT AN EMBEDDED LINUX DISTRIBUTION,IT CREATES A CUSTOM ONE FOR YOU. YOCTO项目&#xff1a;他不是一个嵌入式Linux发行版&#xff0c…

SQL SERVER安装

其中服务器名称输入./自己本机电脑名称. nchar类型一个单位可以放一个汉字-------长度短的补空格一个字节8位一个汉字两个字节 char类型两个单位可以放一个汉字 nvarchar类型是可变长度-----------长度短不会补空格 varchar类型是可变长度两个单位可以放一个汉字---------…

电脑显示连接上WiFi,但没办法上网

问题: 电脑显示已经连接上WiFi。但是百度不出来东西&#xff0c;也没办法打开任何网页。 解决方法&#xff1a; win10系统 在左下角搜索栏&#xff0c;搜索“代理服务器设置”。 找到手动设置代理 —》关闭“使用代理服务” 【默认是打开的】 关闭之后即可上网~~

Python(三十四)条件表达式

❤️ 专栏简介&#xff1a;本专栏记录了我个人从零开始学习Python编程的过程。在这个专栏中&#xff0c;我将分享我在学习Python的过程中的学习笔记、学习路线以及各个知识点。 ☀️ 专栏适用人群 &#xff1a;本专栏适用于希望学习Python编程的初学者和有一定编程基础的人。无…

数据结构--线性表两种存储方式的总结以及应用

这里写目录标题 顺序表和链表的比较存储密度链表的优缺点二者特点的比较以及使用场景 应用线性表的合并有序表的合并用顺序表实现用链表实现 案例实现多项式运算稀疏多项式的运算链表的创建多项式相加图书管理系统 顺序表和链表的比较 存储密度 链表的优缺点 二者特点的比较以…

mybatis学习笔记之在WEB中应用MyBatis

文章目录 数据库表的设计和准备数据环境搭建前端页面编写后端代码实现后端代码目录dao层servicewebpojoUtils 数据库表的设计和准备数据 环境搭建 在pom.xml中配置依赖&#xff08;logback、mybatis、mysql、servlet&#xff09; 注意引入tomcat 前端页面编写 <!DOCTYPE …

Ubuntu 网络配置指导手册

一、前言 从Ubuntu 17.10 Artful开始&#xff0c;Netplan取代ifupdown成为默认的配置实用程序&#xff0c;网络管理改成 netplan 方式处理&#xff0c;不在再采用从/etc/network/interfaces 里固定 IP 的配置 &#xff0c;配置写在 /etc/netplan/01-network-manager-all.yaml 或…

《Docker基础知识解析:容器与虚拟化的区别与优势,选择最佳方案优化云计算应用》

&#x1f337;&#x1f341; 博主 libin9iOak带您 Go to New World.✨&#x1f341; &#x1f984; 个人主页——libin9iOak的博客&#x1f390; &#x1f433; 《面试题大全》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33…

【MATLAB第57期】基于MATLAB的双隐含层BP神经网络回归预测模型(无工具箱版本及工具箱版本对比)

【MATLAB第57期】基于MATLAB的双隐含层BP神经网络回归预测模型&#xff08;无工具箱版本及工具箱版本对比&#xff09; 一、无工具箱版本 1.数据设置 数据为案例数据 。103行样本&#xff0c;7输入1输出数据。 2.参数设置 训练函数 梯度下降 HiddenUnit1Num10;%隐层1结点数…

Thinkphp+vue中小企业人事管理系统q731f

运行环境:phpstudy/wamp/xammp等 开发语言&#xff1a;php 后端框架&#xff1a;Thinkphp5 前端框架&#xff1a;vue.js 服务器&#xff1a;apache 数据库&#xff1a;mysql 数据库工具&#xff1a;Navicat/phpmyadmin中小企业人事管理系统的主要开发目标如下&#xff1a; &…

性能测试之 cpu 篇

目录 1 前言&#xff1a; 2.1 cpu 介绍 2.1.1 上下文切换 2.1.2 运行队列 2.1.3 CPU 利用率 2.2 cpu 性能监控 2.2.1 vmstat 的使用 2.2.2 案例学习:持续的 CPU 利用率 2.2.3 案例学习:超负荷调度 2.2.4. mpstat 工具的使用 2.2.5. 案例学习: 未充分使用的处理量 2…

windows-文件夹-默认打开方式被修改-修改为资源管理器

文章目录 1.方法2.总结 1.方法 如果文件夹默认修改方式被修改&#xff0c;可以打开注册表 按windowsR输入&#xff1a; regedit然后修改注册表项 HKEY_CLASSES_ROOT\Directory\shell将其它值删除&#xff0c;键入默认的windows资源管理器 %systemroot%\explorer如下图所示&…

【PostgreSQL内核学习(五)—— 查询规划(预处理)】

查询规划——预处理 预处理提升子链接/子查询预处理表达式预处理HAVING子句 声明&#xff1a;本文的部分内容参考了他人的文章。在编写过程中&#xff0c;我们尊重他人的知识产权和学术成果&#xff0c;力求遵循合理使用原则&#xff0c;并在适用的情况下注明引用来源。 本文主…

【网络教程】如何快速的解决WordPress“另一更新正在进行”的问题

文章目录 WordPress提示“另一更新正在进行”解决方案手动删除数据库记录使用插件WordPress提示“另一更新正在进行” 当我们在更新WordPress的插件或者升级WordPress时会出现后台提示“另一更新正在进行”,如下图 当我们点击更新后,出现下图提示 出现上述问题是由于在升级Wo…

瑞吉外卖开发笔记 七(redis、Spring Cache)

缓存优化 问题说明 用户数量多&#xff0c;系统访问量大频繁访问数据库&#xff0c;系统性能下降&#xff0c;用户体验差 环境搭建 maven坐标 在项目的pom.xm1文件中导入spring data redis的maven坐标: <dependency> <groupId>org.springframework.boot</g…