php psr4规范

php psr4规范

参考文章:
1、类、方法、常量的定义和副操作(输出结果,处理数据)只能同时存在一种
2、命名空间和类必须遵循PSR-4自动加载器标准。(大驼峰,文件名和命名空间大小写一致)
3、类、成员方法大括号要单独一行
4、类名采用大驼峰,变量、方法名、函数名采用小驼峰,常量采用大写+下划线
5、控制语法小括号外侧1个空格,第一个大括号跟在小括号同行
6、php文件以<?php开头,代码最后空一行,?>不写
7、缩进采用4个空格
8、函数,方法的多个参数,逗号后要留1个空格
9、关键字小写
10、每一行不超过80个字符,结尾不要有空格
11、文件最后留一行空格
12、必要注释和空行,提高可读性
————————————————
版权声明:本文为CSDN博主「古月的博客」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_34345149/article/details/122260379

php:get_file_contents的json获取失败

访问xxx路径会返回json格式的数据,简单点,我用file_get_contents进行获取,发现解析不出来,显示是string类型数据,非json格式,也就是个格式不对。
但是我直接拿路径返回的数据解析是ok的,也就是说file_get_contents获取的数据有所不同。
后来查了下资料,提示说file_get_contents得到的数据前面有三个看不到的字符,所以代码修改如下,仅供参考:

$url = “xxx”; //请求的路径
$result = substr(file_get_contents($url),3);
$result = json_decode($result);
return $result;

代码片断:js:tab切换

<code></code>
<div class=”gzzxq_toub-two-row”>
<div class=”item active”>专利</div>
<div class=”item”>论文</div>
<div class=”item”>成果</div>
<div class=”item”>新品种</div>
<div class=”item”>新技术引进</div>
<div class=”item”>新材料</div>
<div class=”item”>其他</div>
</div>
<div class=”main “>{volist name=”research_list” id=”item”}
{if empty($item)}
<div class=”mains{$key+1}” style=”display: none;”><a href=”#”>暂无科研产出</a></div>
{else}
<div class=”mains{$key+1}”>
<div class=”gzzxq-main-nr”>
<ul class=”gzzxq-main-nr_list”>
<li style=”list-style-type: none;”>
<ul class=”gzzxq-main-nr_list”>{volist name=”item” id=”iitem”}
<li><a href=”#”>{$iitem.biaoti}</a></li>
</ul>
</li>
</ul>
{/volist}

</div>
</div>
{/if}
{/volist}

<code>

 

<script>
window.onload=chengjiu();
function chengjiu(){
console.log($(“.main>div:first-child”));
$(“.main>div:first-child”)[0].style.cssText = “display:block;”;
$(‘.gzzxq_toub-two-row .item’).click(function () {
$(‘.gzzxq_toub-two-row .item’).removeClass(‘active’)
$(this).addClass(‘active’)
// if($(this))
// if($(“.main div”)){
// console.log($(“.main>div”)[0].style.cssText = “display:none”);
// };
$(“.main>div”).hide()
$(“.main>div”).eq($(this).index()).show()
// console.log($(“.main>div”).eq($(this).index()))
})
$(“.center-top-rows-span1″).each(function () {
var str = $(this).html();
var subStr = str.substring(0, 16);
$(this).html(subStr + (str.length > 16 ? ‘…’ : ”));
});
}
</script>

如果list是常量,则可以直接用IN, 否则要用find_in_set()函数。

MySQL手册中find_in_set函数的语法解释:

FIND_IN_SET(str,strlist)

str 要查询的字符串

strlist 字段名 参数以”,”分隔 如 (1,2,6,8,10,22)

查询字段(strlist)中包含(str)的结果,返回结果为null或记录

假如字符串str在由N个子链组成的字符串列表strlist 中,则返回值的范围在 1 到 N 之间。 一个字符串列表就是一个由一些被 ‘,’ 符号分开的子链组成的字符串。如果第一个参数是一个常数字符串,而第二个是type SET列,则FIND_IN_SET() 函数被优化,使用比特计算。 如果str不在strlist 或strlist 为空字符串,则返回值为 0 。如任意一个参数为NULL,则返回值为 NULL。这个函数在第一个参数包含一个逗号(‘,’)时将无法正常运行。

继续阅读

js效果,文字向上滚动

<div class="contents " style="overflow: hidden;">
    <div class="scroll-box">
     <ul class="list clar">
         {volist name="articleinfo" id="item"}
            <li>
                   <div class="art">
                       <img src="{$item.thumb.0.file}" alt="" width="210px" height="150px">
                       <div class="art-content">
                           <h1 class="title" style="line-height:20px;margin:0px;padding:0px;margin-bottom:23px;margin-top:5px;">{$item.title}</h1>
                           <p style="margin:0px;padding:0px;line-height:10px;">来源:{$item.source}</p>
                           <p style="margin:0px;padding:0px;line-height:10px;padding-left:20px;font-weight:none">日期:{:date('Y-m-d',$item.sdate)}</p>
                           <p class="text" style="width:95%;margin-top:20px;line-height:30px;color:#444">{$item.desc}</p>
                       </div>
                   </div>
            </li>
        {/volist}
     </ul>
    </div>

继续阅读