魏长东

weichangdong

东邪

正在查看: php 分类下的文章(第 3 页 / 共 96 篇)

php的trait用法

/在facebook的php的sdk中 用法就是假如某一个类不让使用delete方法,就会用到这个trait

当这个类被调用delete这个方法的时候,就会触发trait。

还有fb的类 set某个值的时候,会调用__set方法,这个时候,使用trait,会对需要set的key和value做下

检查判断

trait myTrait{
    function traitMethod1(){
        echo "no this func 1\n";
    }
    function traitMethod2(){
        echo "no this func 2\n";
    }

}

//然后是调用这个traits,语法为:
class myClass{
    use myTrait;
}

//这样就可以通过use myTraits,调用Traits中的方法了,比如:
$obj = new myClass();
$obj->traitMethod1();
$obj->traitMethod2(); 

run result:

no this func 1 no this func 2

»»阅读全文

php get_class vs get_called_calss

class foo  {
    static public function  test () {
         var_dump(get_class());
    }
}

class bar  extends  foo {
}

foo::test();
bar::test();

echo "====================\n\n";

class  foo2  {
    static public function  test () {
         var_dump(get_called_class());
    }
}

class  bar2  extends  foo2  {
}

foo2::test();
bar2::test();

»»阅读全文

simple_html_dom php操作html元素

<?php

include "simple_html_dom.php" ;
// Create DOM from URL or file
$html = file_get_html('http://www.google.com/');

// Find all images 
foreach($html->find('img') as $element) 
       echo $element->src . '<br>';

// Find all links 
foreach($html->find('a') as $element) 
       echo $element->href . '<br>';
// Create DOM from URL
$html = file_get_html('http://slashdot.org/');

// Find all article blocks
foreach($html->find('div.article') as $article) {
    $item['title']     = $article->find('div.title', 0)->plaintext;
    $item['intro']    = $article->find('div.intro', 0)->plaintext;
    $item['details'] = $article->find('div.details', 0)->plaintext;
    $articles[] = $item;
}

print_r($articles);
// Create DOM from string
$html = str_get_html('<div id="hello">Hello</div><div id="world">World</div>');

$html->find('div', 1)->class = 'bar';

$html->find('div[id=hello]', 0)->innertext = 'foo';

echo $html; // Output: <div id="hello">foo</div><div id="world" class="bar">World</div>

»»阅读全文

php osa系统日期大于或小于查询

其实也不算是优化,就是做了点小小的修改。原有的mysql操作类文件 Medoo.class.php,不支持这种情景

当你的数据表的字段是date类型的(当然现在基本把时间都存成int型了,我存成date类型是有特殊用途),你查询的时候没法大于或者小于某一个日期,但是大于小于同时用没问题。就是下面的代码,当开始或者结束时间一个为空,是没法实现预期目的的。

public static function getCountByInfo($push_start_time='',$push_end_time='',$category='')
        {
                $condition = [];
                $sub_condition = array();
                if ($push_start_time && !