<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[2301_80678122的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/2301_80678122</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; 2301_80678122]]></copyright><item><title><![CDATA[1.drissionpage连接浏览器]]></title><link>https://blog.youkuaiyun.com/2301_80678122/article/details/150549969</link><guid>https://blog.youkuaiyun.com/2301_80678122/article/details/150549969</guid><author>2301_80678122</author><pubDate>Wed, 20 Aug 2025 12:05:45 +0800</pubDate><description><![CDATA[创建对象时向参数传入端口号或地址，可接管指定端口浏览器，若端口空闲，使用默认配置在该端口启动一个浏览器。传入端口时用类型，传入地址时用格式，传入 ws 地址需为完整地址。


browser = Chromium(9333)  # 接管9333端口的浏览器，如该端口空闲，启动一个浏览器
browser = Chromium('127.0.0.1:9333')  # 与上一行一样这两行代码是一样的，只用写一个。ws获取方式：当你用代码启动一个新的浏览器（而非接管已有浏览器）时，Chromium 会在控制台输出]]></description><category></category></item><item><title><![CDATA[thinkphp中间件]]></title><link>https://blog.youkuaiyun.com/2301_80678122/article/details/149091702</link><guid>https://blog.youkuaiyun.com/2301_80678122/article/details/149091702</guid><author>2301_80678122</author><pubDate>Thu, 03 Jul 2025 14:15:10 +0800</pubDate><description><![CDATA[可以通过命令行指令快速生成中间件这个指令会目录下面生成一个Check中间件。]]></description><category></category></item><item><title><![CDATA[tp请求管理]]></title><link>https://blog.youkuaiyun.com/2301_80678122/article/details/148659903</link><guid>https://blog.youkuaiyun.com/2301_80678122/article/details/148659903</guid><author>2301_80678122</author><pubDate>Sun, 15 Jun 2025 00:15:15 +0800</pubDate><description><![CDATA[模仿商城查询的方式$where假设用户同时提交了和，则$where数组最终为获取时间修改时间格式。]]></description><category></category></item><item><title><![CDATA[day05-常用API(二)：Lambda、方法引用详解]]></title><link>https://blog.youkuaiyun.com/2301_80678122/article/details/148261479</link><guid>https://blog.youkuaiyun.com/2301_80678122/article/details/148261479</guid><author>2301_80678122</author><pubDate>Tue, 27 May 2025 18:19:23 +0800</pubDate><description><![CDATA[java里面带有s的基本上是工具类之前toString是要重写，现在不用重写是因为别人已经帮我门封装好了：拷贝：扩容：修改数组数据再存入：数组排序：重写Comparable:自带比较器：]]></description><category></category></item><item><title><![CDATA[java基础(面向对象进阶高级)泛型(API一)]]></title><link>https://blog.youkuaiyun.com/2301_80678122/article/details/148240710</link><guid>https://blog.youkuaiyun.com/2301_80678122/article/details/148240710</guid><author>2301_80678122</author><pubDate>Mon, 26 May 2025 22:52:41 +0800</pubDate><description><![CDATA[泛型就等于一个标签(比如男厕所和女厕)]]></description><category></category></item><item><title><![CDATA[java基础(面向对象进阶高级)内部类]]></title><link>https://blog.youkuaiyun.com/2301_80678122/article/details/148233926</link><guid>https://blog.youkuaiyun.com/2301_80678122/article/details/148233926</guid><author>2301_80678122</author><pubDate>Mon, 26 May 2025 18:43:38 +0800</pubDate><description><![CDATA[内部类创建对象：一定要继承外部类对象，才能创建内部类对象。拓展:成员内部类访问外部类的成员特点：成员内部类中，是否可以直接访问外部类的实例成员??当然可以啊，因为是继承外部类的对象，当然可以直接访问外部类的实例成员在这里，new Heart()先去找内部类的show()，然后到People,this.heartBeat()，]]></description><category></category></item><item><title><![CDATA[java基础(面向对象高级部分)]]></title><link>https://blog.youkuaiyun.com/2301_80678122/article/details/148214769</link><guid>https://blog.youkuaiyun.com/2301_80678122/article/details/148214769</guid><author>2301_80678122</author><pubDate>Sun, 25 May 2025 22:46:07 +0800</pubDate><description><![CDATA[下面有两千行代码，不可能重写写吧，可以直接把Student更换掉，这样子是不是更方便。2.多态下，父类类型作为方法的形参，可以接收一切子类对象，方便更便利。3.多态下存在的一个问题:不能直接调用子类独有的功能(类型转化解决)。比如People p1 = new Student();我把对象调给你，然后你又用对象调用我方法。1.多态下，右边对象是解耦合的。]]></description><category></category></item><item><title><![CDATA[java基础(继承)]]></title><link>https://blog.youkuaiyun.com/2301_80678122/article/details/148193952</link><guid>https://blog.youkuaiyun.com/2301_80678122/article/details/148193952</guid><author>2301_80678122</author><pubDate>Sat, 24 May 2025 19:45:34 +0800</pubDate><description><![CDATA[提高代码的复用性。]]></description><category></category></item><item><title><![CDATA[java基础(面向对象进阶)]]></title><link>https://blog.youkuaiyun.com/2301_80678122/article/details/148189043</link><guid>https://blog.youkuaiyun.com/2301_80678122/article/details/148189043</guid><author>2301_80678122</author><pubDate>Sat, 24 May 2025 12:30:12 +0800</pubDate><description><![CDATA[1.静态方法中可以直接访问类的静态成员，不可以直接访问实例成员。2.实例方法中既可以直接访问静态成员，也可以直接访问实例成员。]]></description><category></category></item><item><title><![CDATA[java基础(api)]]></title><link>https://blog.youkuaiyun.com/2301_80678122/article/details/148144464</link><guid>https://blog.youkuaiyun.com/2301_80678122/article/details/148144464</guid><author>2301_80678122</author><pubDate>Thu, 22 May 2025 16:48:07 +0800</pubDate><description><![CDATA[导包，不同包的程序名相同。]]></description><category></category></item><item><title><![CDATA[java(基础)面向对象]]></title><link>https://blog.youkuaiyun.com/2301_80678122/article/details/148140634</link><guid>https://blog.youkuaiyun.com/2301_80678122/article/details/148140634</guid><author>2301_80678122</author><pubDate>Thu, 22 May 2025 14:23:00 +0800</pubDate><description><![CDATA[如果在s1里面找不到，才去自己的类里面找。通俗易懂的来说，就是谁调用我，我就去找谁。这个时候就去访问s2的东西了。]]></description><category></category></item><item><title><![CDATA[java基础(方法)]]></title><link>https://blog.youkuaiyun.com/2301_80678122/article/details/148138579</link><guid>https://blog.youkuaiyun.com/2301_80678122/article/details/148138579</guid><author>2301_80678122</author><pubDate>Thu, 22 May 2025 13:01:06 +0800</pubDate><description><![CDATA[就像这个图一样main先进入，后续在main中的方法study方法加载进去，然后再study方法中有eat和sleep方法，后续再加载进去。到栈内存时，由main先进入，后续的方法后进入。但是先进入的后出，后进入的先出。首先main会先进入方法区，后续sum方法进去（由上往下排列）。方法分别在方法区、栈内存和堆内存(使用引用数据类型)执行。方法在计算机中的执行原理。]]></description><category></category></item><item><title><![CDATA[17.thinkphp的分页功能]]></title><link>https://blog.youkuaiyun.com/2301_80678122/article/details/147796941</link><guid>https://blog.youkuaiyun.com/2301_80678122/article/details/147796941</guid><author>2301_80678122</author><pubDate>Thu, 08 May 2025 17:07:13 +0800</pubDate><description><![CDATA[1.不管是数据库操作还是模型操作，都使用paginate()方法来实现(第一种方式)；9. 也可以设置分页的页码为简洁分页，就是没有1，2，3，4这种，只有上下页；3.分页功能还提供了一个固定方式，实现分页按钮，只需要设置相应的CSS即可；7. 如果你使用模型方式分页，则可以通过获取器修改字段值，而分页本身也可以；2.创建一个静态模版页面，并使用{volist}标签遍历列表；8. 可以限定总记录数，比如，限定总记录数只有10条的页码；5. 也可以单独赋值分页的模版变量；6. 也可以单独获取到总记录数量；]]></description><category></category></item><item><title><![CDATA[16.thinkphp的验证码功能]]></title><link>https://blog.youkuaiyun.com/2301_80678122/article/details/147795509</link><guid>https://blog.youkuaiyun.com/2301_80678122/article/details/147795509</guid><author>2301_80678122</author><pubDate>Thu, 08 May 2025 16:37:41 +0800</pubDate><description><![CDATA[7. 配置文件在config/captcha.php中，直接进行参数配置即可；1.验证码功能不是系统内置的功能了，需要通过composer引入进来；2.引入进来之后，我们在模版中，验证一下验证码是否能正常显示；这个../code/check是用于控制器判断结果的映射页面。8. 我们可以自定义一个验证器，创建一个verify方法生成；3.创建一个模版页面，设置一个验证码和文本框提交比对；4.使用validate验证器来对验证码进行检测；5.也可以使用助手函数直接进行判断验证；创建一个from.html。]]></description><category></category></item><item><title><![CDATA[15.thinkphp的上传功能]]></title><link>https://blog.youkuaiyun.com/2301_80678122/article/details/147793726</link><guid>https://blog.youkuaiyun.com/2301_80678122/article/details/147793726</guid><author>2301_80678122</author><pubDate>Thu, 08 May 2025 15:50:46 +0800</pubDate><description><![CDATA[3. 使用Filesystem::putfile()方法，来实现上传文件，并写入指定目录；5. 如果想更改上传文件的默认配置，在config/filesystem.php中配置；8. 批量上传，使用image[]作为名称，并使用foreach()遍历上传；6. 默认规则下，上传的文件是以日期和微秒生成的方式：date；4. 上传后返回的结果$info，可以输出当前上传文件的地址；9. 结合之前的验证器，我们写一个针对upload的独立验证；默认保存到storage目录下。默认保存到storage目录下。]]></description><category></category></item><item><title><![CDATA[14.thinkphp的缓存]]></title><link>https://blog.youkuaiyun.com/2301_80678122/article/details/147789600</link><guid>https://blog.youkuaiyun.com/2301_80678122/article/details/147789600</guid><author>2301_80678122</author><pubDate>Thu, 08 May 2025 14:56:58 +0800</pubDate><description><![CDATA[10. ::pull()方法，先获取缓存值，然后再删除掉这个缓存，无数据返回null；11. ::remember()方法，如果数据不存在，则写入数据，可以依赖注入；13. ::tag()标签，可以将多个缓存归类到标签中，方便统一管理，比如清除；6. ::get()方法，从缓存中获取到相应的数据，无数据返回null；7. ::inc()和::dec()实现缓存数据的自增和自减操作；4. ::set()方法，可以设置一个缓存，参数三为过期时间；5. ::has()方法，判断缓存是否存在，返回布尔值；]]></description><category></category></item><item><title><![CDATA[13.thinkphp的Session和cookie]]></title><link>https://blog.youkuaiyun.com/2301_80678122/article/details/147786324</link><guid>https://blog.youkuaiyun.com/2301_80678122/article/details/147786324</guid><author>2301_80678122</author><pubDate>Thu, 08 May 2025 13:42:51 +0800</pubDate><description><![CDATA[2. TP6.0不支持原生$_SESSION的获取方式，也不支持session_开头的函数；5. ::has()判断是否赋值，::delete()删除，::pull()取值后删除；7. ::flash()方法，设置闪存数据，只请求一次有效的情况，再请求会失效；3. 直接使用::set()和::get()方法去设置Session的存取；4. ::get()第二参数，可以设置当不存在值的时候，设置一个默认值；6. ::clear()清空整个session；session('没有值就获取所有')]]></description><category></category></item><item><title><![CDATA[12.thinkphp验证]]></title><link>https://blog.youkuaiyun.com/2301_80678122/article/details/147502706</link><guid>https://blog.youkuaiyun.com/2301_80678122/article/details/147502706</guid><author>2301_80678122</author><pubDate>Fri, 25 Apr 2025 12:10:35 +0800</pubDate><description><![CDATA[1. 验证器的使用，我们必须先定义它，系统提供了一条命令直接生成想要的类；2. 这条命令会自动在应用目录下生成一个validate文件夹，并生成User.php类；3. 自动生成了两个属性：$rule表示定义规则，$message表示错误提示信息；4. 如果不设置$message定义的话，将提示默认的错误信息；5. 验证器定义好了之后，我们需要进行调用测试，创建一个Verify.php控制器；6. 默认情况下，出现一个错误就会停止后面字段的验证，我们也可以设置批量验证；]]></description><category></category></item><item><title><![CDATA[11.thinkphp的模板]]></title><link>https://blog.youkuaiyun.com/2301_80678122/article/details/147431939</link><guid>https://blog.youkuaiyun.com/2301_80678122/article/details/147431939</guid><author>2301_80678122</author><pubDate>Wed, 23 Apr 2025 15:53:12 +0800</pubDate><description><![CDATA[1. MVC中，M(模型)和C(控制器)是前面我们所了解的内容，而V(视图)就是页面；2. TP6.0默认不自带TT模版引擎，它作为一个可选的扩展给开发人员安装；3. 也就是说，并不一定非要使用模板引擎的语法规则来开发V(视图)部分；4. 如果不用模版引擎，可以在控制器通过require()方法引入PHP文件混编即可；那么有很多数据，怎么和前端通信呢？解决：也可以通过依赖注入：5. 如果要使用模版引擎，先创建一个用于测试模板引擎的控制器：Show.php；]]></description><category></category></item><item><title><![CDATA[10.thinkphp的响应]]></title><link>https://blog.youkuaiyun.com/2301_80678122/article/details/147349404</link><guid>https://blog.youkuaiyun.com/2301_80678122/article/details/147349404</guid><author>2301_80678122</author><pubDate>Sat, 19 Apr 2025 13:38:17 +0800</pubDate><description><![CDATA[如果需要特别的自定义响应输出，可以自定义一个Response子类，并且在控制器的操作方法中直接返回。又或者通过设置响应参数的方式进行响应设置输出。1. 使用redirect()方法可以实现页面重定向，需要return执行；2. 站内重定向，直接输入路由地址或相对地址即可，第二参数状态码；3. 使用url自动生成跳转地址，普通地址或路由地址；4. 附加session信息，并跳转重定向；5. 重定向还提供了，记住上一次的url，和跳转到上一次url的功能；flag')) {return '死机警告';]]></description><category></category></item></channel></rss>