Jason-Jan

1.安装XAMPP


2.安装并破解PhpStorm


3.配置PhpStorm

3.1.Setting中配置Interpreter

  

 

3.2.添加本地Interpreter Path

  

 

3.3.选择PHP解释器(php.exe)的安装目录

  这个安装目录在XAMPP的安装目录下的\php\php.exe这里。

  

  点击OK配置完毕。


4.测试一下

4.1.新建一个calendar.class.php日历类

<?php
class Calendar {
    private $year; //当前的年
    private $month; //当前的月
    private $start_weekday; //当月的第一天对应的是周几
    private $days; //当前月一共多少天
    function __construct(){
        $this->year=isset($_GET["year"]) ? $_GET["year"] : date("Y");
        $this->month=isset($_GET["month"]) ? $_GET["month"] : date("m");

        $this->start_weekday=date("w", mktime(0, 0, 0, $this->month, 1, $this->year));
        $this->days=date("t", mktime(0, 0, 0, $this->month, 1, $this->year));
    }
    function out(){
        echo \'<table align="center">\';
        $this->chageDate("test.php");
        $this->weeksList();
        $this->daysList();
        echo \'</table>\';
    }
    private function weeksList(){
        $week=array(\'日\',\'一\',\'二\',\'三\',\'四\',\'五\',\'六\');
        echo \'<tr>\';
        for($i=0; $i<count($week); $i++)
            echo \'<th class="fontb">\'.$week[$i].\'</th>\';
        echo \'</tr>\';
    }
    private function daysList(){
        echo \'<tr>\';
        //输出空格(当前一月第一天前面要空出来)
        for($j=0; $j<$this->start_weekday; $j++)
            echo \'<td> </td>\';

        for($k=1; $k<=$this->days; $k++){
            $j++;
            if($k==date(\'d\'))
                echo \'<td class="fontb">\'.$k.\'</td>\';
            else
                echo \'<td>\'.$k.\'</td>\';
            if($j%7==0)
                echo \'</tr><tr>\';

        }
        //后面几个空格
        while($j%7!==0){
            echo \'<td> </td>\';
            $j++;
        }
        echo \'</tr>\';
    }
    private function prevYear($year, $month){
        $year=$year-1;

        if($year < 1970)
            $year = 1970;
        return "year={$year}&month={$month}";
    }

    private function prevMonth($year, $month){
        if($month == 1) {
            $year = $year -1;

            if($year < 1970)
                $year = 1970;
            $month=12;
        }else{
            $month--;
        }
        return "year={$year}&month={$month}";
    }

    private function nextYear($year, $month){
        $year = $year + 1;
        if($year > 2038)
            $year = 2038;
        return "year={$year}&month={$month}";
    }

    private function nextMonth($year, $month){
        if($month==12){
            $year++;
            if($year > 2100)
                $year=2100;
            $month=1;
        }else{
            $month++;
        }

        return "year={$year}&month={$month}";
    }
    private function chageDate($url=""){
        echo \'<tr>\';
        echo \'<td><a href="?\'.$this->prevYear($this->year, $this->month).\'">\'.\'<<\'.\'</a></td>\';
        echo \'<td><a href="?\'.$this->prevMonth($this->year, $this->month).\'">\'.\'<\'.\'</a></td>\';
        echo \'<td colspan="3">\';
        echo \'<form>\';
        echo \'<select name="year" onchange="window.location=\\'\'.$url.\'?year=\\'+this.options[selectedIndex].value+\\'&month=\'.$this->month.\'\\'">\';
        for($sy=1970; $sy <= 2100; $sy++){
            $selected = ($sy==$this->year) ? "selected" : "";
            echo \'<option \'.$selected.\' value="\'.$sy.\'">\'.$sy.\'</option>\';
        }
        echo \'</select>\';
        echo \'<select name="month"  onchange="window.location=\\'\'.$url.\'?year=\'.$this->year.\'&month=\\'+this.options[selectedIndex].value">\';
        for($sm=1; $sm<=12; $sm++){
            $selected1 = ($sm==$this->month) ? "selected" : "";
            echo \'<option \'.$selected1.\' value="\'.$sm.\'">\'.$sm.\'</option>\';
        }
        echo \'</select>\';
        echo \'</form>\';
        echo \'</td>\';

        echo \'<td><a href="?\'.$this->nextYear($this->year, $this->month).\'">\'.\'>>\'.\'</a></td>\';
        echo \'<td><a href="?\'.$this->nextMonth($this->year, $this->month).\'">\'.\'>\'.\'</a></td>\';
        echo \'</tr>\';
    }
}
?>
View Code

 

4.2.新建一个test.php测试类

<style>
    table {
        border:1px solid #050;
    }
    .fontb {
        color:white;
        background:blue;
    }

    th {
        width:30px;
    }
    td,th {
        height:30px;
        text-align:center;

    }
    form {
        margin:0px;
        padding:0px;
    }
</style>
<?php
include "calendar.class.php";
$calendar=new Calendar;
$calendar->out();
?>
View Code

 

4.3.点击右上角的浏览器

  

  当前时间没问题,左右翻页没问题。

  That\'s all.



分类:

技术点:

相关文章: