PHP抽象类与接口的区别

2019-3-31 张宇童 关注网络

抽象类:

定义为抽象的类不能被实例化.任何一个类,如果它里面至少有一个方法是被声明为抽象的,那么这个类就必须被声明为抽象的。被定义为抽象的方法只是声明了其调用方式(参数),不能定义其具体的功能实现。继承一个抽象类的时候,子类必须定义父类中的所有抽象方法;另外,这些方法的访问控制必须和父类中一样(或者更为宽松)。例如某个抽象方法被声明为受保护的,那么子类中实现的方法就应该声明为受保护的或者公有的,而不能定义为私有的。此外方法的调用方式必须匹配,即类型和所需参数数量必须一致。例如,子类定义了一个可选参数,而父类抽象方法的声明里没有,则两者的声明并无冲突。 这也适用于 PHP 5.4 起的构造函数。在 PHP 5.4 之前的构造函数声明可以不一样的.

阅读全文>>

评论(0) 浏览(625)

Laravel 实用的辅助函数小技巧--helper

2019-3-31 张宇童 关注网络

1.csrf token 表单

{{ csrf_token() }} 

这样就可以直接获取 Laravel 自身维护的 csrf_token,比如通常是这样用的

<input name="_token" value="{{ csrf_token() }}" type="hidden" /> 

更简便的方法

{!! csrf_field() !!} 

这样就会直接在 html 输出类似下面的内容了

<input name="_token" value="5A0CQ8OHQylQFdM1UQ8pjJyMuN8YP5erC6VaiS89" type="hidden" /> 

2.生成 method 表单

在使用 resource 路由的时候,有一些 method 浏览器原生不能支持的,比如 DELETE,PATCH PUT 等,这时候就可以使用一下代码来生成 method 表单,模拟这些请求:

 {{ method_field('DELETE') }} 

生成的 html :

<input type="hidden" name="_method" value="DELETE"> 

阅读全文>>

评论(0) 浏览(573)

Powered by emlog