1.环境的搭建
官网下载PHPstorm安装包,没有什么具体的难度,如果遇见问题可以试着用其他方法看看,因为我用的这一个依赖句成功了,所以不打算换,不过如果不是想安装这个的可以尝试另外一个
里面包含了数据库mysql,wampserver这些,比较全面!
搭建过程比较简单,但是要小心的是版本的对应上
当你搭建好phpstorm后,创建php文件(记住后缀是php的)运行如果没有wampserver解释器的话
是运行不来的。
2.基本语法(可粘贴到上面运行无错)
/**
* Created by PhpStorm.
* User: lck
* Date: 2018/9/19 0019
* Time: 18:26
*/
namespace LCK;
class Comment{ };
///非限定类命名空间
/// 会被解析成 LCK\Comment
$LckCo=new Comment();
///限定类命名空间
///会被解析成 LCK\LCkTwo\Comment
$LckCo2=new LCkTwo\Comment();
///完全限定命名空间
///会被解析成 LCK\Comment
$LckCo3=new \LCK\Comment();
namespace LCK\LCkTwo;
class Comment{};
static $x=5;
$y=6;
function mytest()
{
$GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
}
mytest();
echo $y;
///使用if语句
if ($x>4)
echo "\t$x\n";
else
echo '测试失败';
/*使用switch*/
/*验证其如果不是使用static,其是否会释放掉*/
switch ($y)
{
case 6:
echo "
";
echo "输出的数据是6";
break;
case 5:
echo "
";
echo "输出的数据是5";
break;
default:
echo "
";
echo "这里没有你想要的数据";
echo "
";
break;
};
/*使用数组病将其进行遍历*/
$arr=array("数组1","数组2","数组3");
$arrlenght=count($arr);
for ($z=0;$z<$arrlenght;$z++)
{
echo "
";
echo "\t这个是$arr[$z]\n";
echo "
";
}
/*关联数组*/
static $Garr=array("lck"=>"1","peter"=>"2","jack"=>"3");
echo '
';
echo "我是廖成康,今年".$Garr["lck"]."岁";
/*对关联数组进行升序,或者降序*/
echo '
';
arsort($Garr);
echo '
';
print_r($Garr);
/*超级变量自行了解,主要的超级变量: $_REQUEST 与表单验证方面有关 $GLOBALS全局的域*/
echo '
';
/*do...while语句の了解*/
$iwhile=1;
while ($iwhile<=5)
{
echo "这时的数据为".$iwhile;
$iwhile++;
echo '
';
}
/*foreach的使用*/
$iforeach=array("lck1","lck2","lck3");
foreach ($iforeach as $value)
{
echo $value."
";
}
/*函数的使用,参数名,参数个数和其他的语言一致*/
function mytest2($lck)
{
echo $lck."数据.
";
}
mytest2("第一个函数调用");
/*有返回值得函数调用*/
function mytest3($x,$y)
{
$z1=$x+$y;
return $z1;
}
$z2=mytest3(1,2);
echo "数据的和为".$z2;
/*超级变量:
__LINE__
文件中的当前行号。
__FILE__
文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。
__DIR__
文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录
__FUNCTION__
函数名称(PHP 4.3.0 新加)。
__CLASS__
类的名称(PHP 4.3.0 新加)。
__TRAIT__
Trait 的名字(PHP 5.4.0 新加)
__METHOD__
类的方法名(PHP 5.0.0 新加)。
__NAMESPACE__
当前命名空间的名称(区分大小写)。
*/
/*使用实例 __TRAIT__ */
class Base
{
public function sayhello()
{
echo "hello";
}
}
trait traitlck
{
public function sayhello()
{
parent::sayhello();
echo "world!";
}
}
class xiaott extends Base
{
use traitlck;
}
$o=new xiaott();
$o->sayhello();
/*
* 命名空间的使用
* 1.可以在同一个文件中定义不同的命名空间代码
* 2.全局代码必须用一个不带名称的 namespace 语句加上大括号括起来
* 3.declare(encoding='UTF-8'); //定义多个命名空间和不包含在命名空间中的代码
* 4.namespace MyProject\Sub\Level; //声明分层次的单个命名空间,子命名空间
* 5.命名空间必须是第一条程序
* */
/*接口的调用*/
interface Home
{
public function testone($name,$var);
public function testtwo();
}
class HomeTest implements Home
{
var $var=array();
////给数组的内容添加键值
public function testone($name, $var)
{
// TODO: Implement testone() method.
$this->var[$name]=$var;
}
public function testtwo()
{
// TODO: Implement testtwo() method.
foreach ($this->var as $value)
{
echo $value."数据.
";
}
}
}
$gglck=new HomeTest();
$gglck->testone("廖成康","2018");
$gglck->testone("lck","12");
$gglck->testone("test","1");
$gglck->testtwo();
/*
* Static 关键字
*
* 使用static关键词,可以不用实例化类就直接访问
*
* */
class mytest4
{
public static $foo="foo";
}
print(mytest4::$foo);
/*
* Final 关键字
*
* 不能被继承,也不能被覆盖
* */
/*
* 构造方法的使用
*
* 注意这里是双斜杠
* */
class Baseclass
{
public function __construct()
{
echo "这个是Baseclass函数".PHP_EOL;
}
}
class Subclass extends Baseclass
{
public function __construct()
{
parent::__construct();
echo "这是Subclass".PHP_EOL;
}
}
$hhlck=new Baseclass();
$lllck=new Subclass();
/*
* 子类必须定义父类中的所有抽象方法;另外,这些方法的访问控制必须和父类中一样(或者更为宽松)。
*
* */
?>
上面是在这两天里大致浏览的一些内容,如果是入门的话,这些事非常不错的例子
当然,这些不是全部还有很多,这部分只是语法部分。
下面是做的笔记:
有问题私聊!有错请指出一哈!