1、 静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员。如:
如果希望在静态方法中调用非静态变量,可以通过创建类的对象,然后通过对象来访问非静态变量。如:
2、 在普通成员方法中,则可以直接访问同类的非静态变量和静态变量,如下所示:
3、 静态方法中不能直接调用非静态方法,需要通过对象来访问非静态方法。如:
做人咧,最紧要系开心🥳
说说最近我干了啥.距离上次发文章已经20天了,这段时间里我跑去海南玩了,回来就写了一周的laravel项目了。这次是第一次写,写的挺菜的,被dalao摁在地面上摩擦了,不过还好经过这次开发,我还是学到了一些东西,在这里Mark一下,方便以后差错。
这次是第一次用auth组件来开发登录模块。由于应用的美工已经规定好了,我就直接手动认证了。
文档写的是
attempt(["email"=>$email,"password"=>$password])
,这个组件是只能用email来作为username,不能自定义username。
login组件需要传入的参数是用户实例。
用户实例的意思是你一定查到的那一条数据,比如你通过ORM查到了一条password符合的数据,此时这条数据就是一个用户实例。
可能的原因如下:
modal原代码:
namespace App\Models; use Illuminate\Database\Eloquent\Model; class User extends Model { }
要把代码改成这样子才行!
modal改动后的代码:
<?php namespace App\Models; use Illuminate\Database\Eloquent\Model; use Illuminate\Foundation\Auth\User as Authenticatable;//要改成继承这个Auth组件 class User extends Authenticatable { }
Kernel原代码:
有可能是这个组件被注释了,此时需要的是取消注释。
login方法定位用户靠的是数据库的字段名id。
这个字段名必须是id,不能是Id、iD、ID。不然Auth组件将不能够正常工作
数据表,必须有remember_token用于存储辨识用户session的凭证。
不然laravel会报错。
php爬虫,用于爬Rule34图站的数据,自动下载特定标签的图片
– 支持指定标签,多标签搜索
– 支持轮候任务
– 支持微信通知运行状态
– 低占用
1. 安装php环境
2. 把该程序拖至php.exe同目录中
3. 编辑php内的PATHS,该常量用于定义爬下来的数据的缓存路径
4. 保存
5. 打开ready.txt,按照格式填入待下载标签
6. 保存
7. 运行start.bat
female:0:42
标签:开始的pid数(0开始的42的倍数):结束的pid数(0开始的42的倍数,需要比开始的pid大)
https://gitee.com/7gugu/python-rule34Lib
在使用中有任何问题,欢迎反馈给我,可以用以下联系方式跟我交流
其实这玩意儿我去年(2018)二月就写好了,不过那时候处于要备考的节点了,就没太多的精力去管理,现在有空了就来把爬虫修好发上来
真的难以置信,在短短的四个月中URP的安装量又提高了1200次,这真的让人感到一种难以言表的开心。在发布两年以后,仍然具有如此活力,在我看来是很难得的。一方面是Unturned这个游戏进入到了3.0-4.0的过渡状态,导致游戏人数迅速降低,另一方面则是该面板只能用于管理Unturned服务器,这严重的限制了面向的用户群体。但是在这些情况下,URP还是能够脱颖而出,被大家选择来使用,实属荣幸。
而且这次的统计数据是2018年初时开始统计的,如果过算上17年的数据,我预估应该是已经有3000-4000的安装量了。虽然这个面板从技术上面具有许多的问题,如php和html的混淆,函数的复用率低下,耦合性高,无路由的概念,都限制住了面板的继续发展。即使这些在Umarket中已经得到了部分的解决与改善,但我坚信在以后的日子中我仍需继续努力去进行更多的开发,来继续提高自己的代码水平。
再次感谢大家能够选择URP进行服务器管理维护,谢谢大家的支持,如果可以的话,欢迎大家能给我发点赞助,谢谢了owo
一个基于油猴插件的模拟机械键盘的声音,就是按下键后,就会发出机械按键声
[js]
// ==UserScript==
// @name TypeSounder
// @namespace https://103.249.111.182/
// @version 1.1
// @description 给按键加入机械键盘的触发声音
// @author 7gugu <gz7gugu@qq.com>
// @match https://tampermonkey.net/documentation.php?version=4.8.5847&ext=fire&updated=true
// @grant none
// @include *
// @require https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js
// ==/UserScript==
(function() {
‘use strict’;
var id=1;
console.log("typesound已启动");
document.onkeydown=function(event){
id++;
$("body").append("<div id=’key_sound_"+id+"’><audio id=’player"+id+"’ src=’https://103.249.111.182/wp-content/uploads/2018/12/music.mp3′ preload=’auto’>您的浏览器不支持 audio 标签。</audio></div>");
var e = event || window.event;
var player = $("#player"+id)[0]; /*jquery对象转换成js对象*/
if(e && e.keyCode){
if (player.paused){ /*如果已经暂停*/ player.play(); /*播放*/ }
}
};
})();
[/js]
https://greasyfork.org/zh-CN/scripts/375939-typesounder
今天在做c语言的功课时,发现旧的教材(基于vc++6.0)使用了如下的代码,对字符串指针进行赋值.
char *p="Hello World";
但是编写到VS2017上时报了下面的一个错误.
直接导致编译失败,经过了baidu的查找后,知晓了具体原因.
应把源代码修改成如下的代码.
//原代码 char *p="Hello world"; //修改后的代码 const char *p="Hello world";
主要原因是因为在新版本中增强了对字符串指针的安全性,通过使用静态声明,来防止越界
指针变量可以初始化为0,NULL或一个地址[16进制]
0和NULL等价,相当于一个空地址
//使用(变量类型 *变量名)这样一个组合就可以声明一个指定类型的指针变量 int *a;
例子:
#include <iostream> int main(){ int *a,i=100; printf("a的位置%p,i的值:%d\n",a,i); a=&i; printf("a的位置%p,a的值是%d\n",&a,*a); }
运行结果:
指针变量不仅仅是要存储变量的地址,同时也要记录变量的空间大小。
因为C语言传递变量时需要把数据传入已确定的内存地址及其所占的空间,
所以一个char类型的指针不可以直接指向一个int型的变量,如果强制操作将会导致越界的bug。
#include <iostream> void main() { int *a[3];//初始化整型指针 int b[3] = { 1,2,3 }; a[0] = &b[0];//将b[0]的地址赋值给a[0]存储 a[1] = &b[1]; a[2] = &b[2]; printf("a的原来指向的值%d\n", **a);//*a仅仅是获取到b的地址,**a才是获取到b的值 printf("a的变化后指向的值%d\n", **(a+1));//a+1指的是a[1]然后再重复上一行的操作 }
#include <iostream> void main(){ int a[3][3]={1,2,3,4,5,6,7,8,9}; int *b[3]; b[0]=a[0];//在多维数组中,b[0]=a[0]会自动指向a[0]的地址,不用像一维数组,使用取址符指向a[0] b[1]=a[1]; b[2]=a[2]; printf("a[1][2]的值%d\n",*(*(b+1)+2));//现将b指向b[1],然后将b[1]指向b[1][2] }
因为指针指向一维数组时,b[0]代表的是一个值,而不是一个地址,所以需要使用取址符来获取这个值得地址,
但是当指针指向二维数组时,b[0]的身份是一个地址,所以就不用使用取址符就可以直接获取到地址了。
数组p[i]是c语言中的一种语法糖
即使函数被设计成void fun(int array[5], int n),array依然被看成是指针。也就是说即使数组带了长度,该长度也会被编译器忽略掉。(即:a[i]=>*(a+i))
一句话:形参中的数组统统看成指针。
既然如此,还不如直接写成void fun(int *array, int n)。指针的形式,更能表达本意。
array和&array都是指针,但类型不同。array的类型是int*,而&array的类型是int(*)[2]。array是指向普通int类型的指针;&array是数组指针,该数组元素是int类型的,且数组大小是2。
在App文件夹内新建.php文件即可。(命名方式:首字母大写,如Member.php),如图所示:
如以下代码:
namespace App\Http\Controllers; use App\Member;//使用App/Member这个命名空间 class MemberController extends Controller{ public function info(){ return Member::getMember(); } }
即可调用Member这个model,并调用model下的getMember这个函数