php基础学习

php的使用在命令行 php -v 来显示当前的php版本
<?php
echo 'sthing...'
?> /*用来显示php执行的结果*/


常量的使用
define('VAR1', 100);
define('VAR2', 20);
使用:echo VAR1 


一般变量定义:(这里前面要加上$)
$var1 = 10;
$var1 = 'ok man'
$var2 = 10.10;
$var1 = (int)$var2


--也可以这么用
$var2 = 10;
$var1 = 'var2'
echo $$var1 ==> echo $var2  ==> 10


函数作用域不同的是:
在函数内部可以定义全局变量(必须和全局变量使用相同命名规范)
在函数内部可以定义静态变量,作用于是函数内部,但多次调用时值可以变
超级全局变量 
$GLOBALS
$_SERVER
$_GET, 通过get方法传递给该校本的变量
$_POST, 通过post方法传递给该校本的变量
$_COOKIE
$_FILES , 与文件上传相关的变量数组
$_ENV
$_REQUEST, 所有用户输入的变量,包括$_GET, $_POST, $_COOKIE
$_SESSION, 会话变量数组




==================变量操作符===========================
数学运算符合C相同
字符串操作符,有个 “.” ==>连接元算副
=== 恒等操作符,表示两边的值相等,并且必须是数据类型也要相等才可以
也有三元操作符  ?:
执行操作符,其实就是一对 ``,跟shell中的执行操作符相同,例如:
$out = `ls -a`
echo '<pre>'.$out'.</pre>';


!! 数组的逻辑比较操作符可以和单个元素的相同,包括:!=, !==, ===两个数组的元素都得相同并且顺序得一致, <>...


instanceof返回一个对象是否是一个类的实例
class testClase{};
$myObj = new testClass();
if ($myObj instanceof testClase)
echo "sth shit here..."




==================变量类型===========================
gettype($var)
settype($var, 'double')
下面的函数返回值都是 true/false
is_array();
is_double(), is_float(), is_real()
is_long(), is_int(), is_integer()
is_string()
is_object()
is_resource()
is_null();
is_scalar()
is_numeric()
is_callable()
下面是几个比较重要的变量
isset($var) --变量是否存在,有别于empty()
unset($var)
empty($var) --变量值是否为空




=========================格式化字符串=================================
addslashes($var), 所有要写入数据库的字符串都最好先执行这个函数,回他特福字符都转义了的
explode(string splitor, sting input [, int limit])
$email_array = explode('@', $email) ==> $email_arry[0]存入的是域名,$email_array[1]存入的是网址
impode(string splitor, sting input [, int limit])
$new_email = implode('@', $email_array) ==>根据数组生成新的邮箱地址


strtolower($var), 将字符串转换成小写
strtok(string str, string splitor),将一个字符串分割成小块
regx正则表达式


=========================php中的函数使用=================================
require(), 加载其他代码,如果出错,会报一个致命错误
inlcude(),夹在其他代码,如果出错,只会报一个警告
require_once(),
include_once(), 


function fun(&$var1, $var2=10) --函数输入参数,可以是引用,也可以给默认值
{
global $varx = 10;  --全局变量的声明

return 10; --返回值
}


=========================php中的类使用=================================
1 php函数名称或者变量名称可以当作字符串操作
2 内置的几个重要的函数:构造/析构/__get/__set函数
3 php的类变量和函数,默认是public型的


class  myclass
{
var $attr1;
var $attr2;

function fun1($parm_name)
{
return $this->$parm_name;
}

function __construct($param) --构造函数,如果没有以__construct命名的函数,则会默认找到和类名相同的的构造函数
{
$this->$attr1 = $param;
echo $this->$attr1;
}

function __destruct() --析构函数
{
}

function __get($name) --需要在这里验证变量的合法性
{
return $this->$name;
}

function __set($name, $value)  --需要在这里验证变量的合法性
{
$this->$name = $value;
}
}


$a = new myclass();
$a->$attr2 = 5; ==>php间接的回去调用 __set()函数




4 继承,默认的继承方式是 public
class B extends A
{
var $attr2;
private function oper2()
{
}
protected function oper3()
{
}
public function oper4()
{
}
}


class A
{
var $attr1;
function __construct()
{
$this->oper2();  //failed
$this->oper3(); //success
$this->oper4(); //success
}

function oper1()
{
}
}


$b =new A();
$b->oper1(); //success
$b->oper2(); //failed
$b->oper3(); //failed
$b->oper4(); //success




5  重载,允许在子类中和父类同名的函数
如果想要在子类中仍然访问父类中的同命函数可以使用 parend::func()


6 final 禁止类被继承,或者禁止函数被重载
final class A  ==>如果有类要继承的话就会报错
{
...
}


class A
{
final function oper1()  ==>如果子类重要重载,就会报错
{
}
}


7 PHP只支持单一继承,不支持多继承


8 接口的实现 ==> 是多继承的一种实现方式,首先类可以继承多个其他类,同时又可以扩展接口
interface Display()
{
funciotn display();
}


class webPage extends A
{
...
}


class webPage implements Display
{
function display()
{
...
}
}


9. PHP的其他功能和方法
__close函数,克隆一个对象 ==> $c = clone $b;
__call函数
抽象类和抽象方法 ==>包含抽象方法的类必须是抽象的
abstract class A
{
abstract function oper1(); //一定没有类的实现
}


10 __autoload()方法,不属于任何一个类,是用来初始化一些资源信息的
function __autoload($name)
{
include_once $name.'.php'
}




11. 实现类的迭代
类对象必须实现Iterator(), IteratorAggregate().




12. __toString(), 类必须实现这个函数,当打印某个类时,会把类中的属性值打印出来
$P = new myclass();
echo $p


class myclass()
{
 var $var1;
 var $var2;
 public function __toString()
 {
  return var_export($this, TRUE);  --  var_export()打印出类中所有的属性
 }
}




13. 使用 reflectoin 反射,访问已有类或者对象,找到类和对象结构的能力。
$class = ReflectionClass('myclss');
echo $class;




14. 异常
try
{
if (condition)
{
throw new exception(errMsg, errCode);
}
}
catch (Exception $ex)
{
echo $ex->getCode().$ex->getMsg();
}





技术选型 【后端】:Java 【框架】:springboot 【前端】:vue 【JDK版本】:JDK1.8 【服务器】:tomcat7+ 【数据库】:mysql 5.7+ 项目包含前后台完整源码。 项目都经过严格调试,确保可以运行! 具体项目介绍可查看博主文章或私聊获取 助力学习实践,提升编程技能,快来获取这份宝贵的资源吧! 在当今快速发展的信息技术领域,技术选型是决定一个项目成功与否的重要因素之一。基于以下的技术栈,我们为您带来了一份完善且经过实践验证的项目资源,让您在学习和提升编程技能的道路上事半功倍。以下是该项目的技术选型和其组件的详细介绍。 在后端技术方面,我们选择了Java作为编程语言。Java以其稳健性、跨平台性和丰富的库支持,在企业级应用中处于领导地位。项目采用了流行的Spring Boot框架,这个框架以简化Java企业级开发而闻名。Spring Boot提供了简洁的配置方式、内置的嵌入式服务器支持以及强大的生态系统,使开发者能够更高效地构建和部署应用。 前端技术方面,我们使用了Vue.js,这是一个用于构建用户界面的渐进式JavaScript框架。Vue以其易上手、灵活和性能出色而受到开发者的青睐,它的组件化开发思想也有助于提高代码的复用性和可维护性。 项目的编译和运行环境选择了JDK 1.8。尽管Java已经推出了更新的版本,但JDK 1.8依旧是一种成熟且稳定的选择,广泛应用于各类项目中,确保了兼容性和稳定性。 在服务器方面,本项目部署在Tomcat 7+之上。Tomcat是Apache软件基金会下的一个开源Servlet容器,也是应用最为广泛的Java Web服务器之一。其稳定性和可靠的性能表现为Java Web应用提供了坚实的支持。 数据库方面,我们采用了MySQL 5.7+。MySQL是一种高效、可靠且使用广泛的关系型数据库管理系统,5.7版本在性能和功能上都有显著的提升。 值得一提的是,该项目包含了前后台的完整源码,并经过严格调试,确保可以顺利运行。通过项目的学习和实践,您将能更好地掌握从后端到前端的完整开发流程,提升自己的编程技能。欢迎参考博主的详细文章或私信获取更多信息,利用这一宝贵资源来推进您的技术成长之路!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值