鍍金池/ 問答/ PHP問答
朽鹿 回答

一般都是用js來寫個定時器來消失,找到提示框的部分,修改一下消失時間。

苦妄 回答

如果是tp_recharge全表的話你可以表反轉下即可

Db::table('tp_recharge')
        ->field('pay_amount as total,create_time,recharge_id as order_id,pay_type as pay_types')
        ->union(function ($query) {
            $query->alias('b')->field('(b.order_amount + b.store_amount) as total,`b`.`create_time`,`b`.`order_id`,`b`.`pay_types`')->table('tp_order')->where("b.order_status = 2");
        })
        ->buildSql();
毀憶 回答

PHP程序員做的基本都是互聯(lián)網開發(fā)吧,離不開和前端打交道。需要了解多少,要和你的公司要求你做的事情有關系,基本上大公司要求做的專一點,精通PHP就行。小公司可能要求你懂的面廣一點,什么都會。
只要你PHP玩的精通,其實js的知識哪怕你一點都不了解都沒關系。但是HTTP方面相關知識還是要了解的,比如HTTP1.0 1.1 2.0之前有什么區(qū)別和特征,http code有哪些和意義。怎么配置跨域,這些。
如果非要了解一些,從原理和框架入手去了解js,不需要你會寫多少,但是要只要常見的前端框架有哪些比如vue, react angular,這些框架面向的前后端分離,后端的php只需要關注接口的提供,不需要提供頁面渲染。
如果是普通的網站,那你要懂一些瀏覽器的渲染知識。然后用php的方式,后端生成頁面html,然后吐給前端渲染。

默念 回答

A升到依賴C1.1版本或者B降到依賴C1.0版本?

凹凸曼 回答

error_log變更第2、3參數(shù)……


文檔里有個挺簡單的log類,我簡單改了下代碼:

<?php
Class?log?{
    const?ERROR_DIR?=?'/home/site/error_log/errors.txt';
?   public function?err($msg)
? ? {
? ??    $date?=?date('d.m.Y h:i:s');?
? ??    $log?=?"[Date][ ".$date." ] [Msg][ ".$msg." ]\n";
? ??    error_log($log,?3,?self::ERROR_DIR);
? ?  }
}?

$log?= new?log();?
$log->err("ERROR!!!");

排版將就看吧,手機碼的。。。

吢涼 回答

為啥不寫在模型里呢?R方法其實調用的和D的沒什么區(qū)別,就傳參方法不一樣吧,我更好奇laravel有沒有鉤子函數(shù),yii和tp都有

喜歡你 回答

php 中引用并不是指針,global 的定義本身就是引用方式實現(xiàn)的。
你可以把 函數(shù)去掉 $var1 $var2 的結果都是2
PHP手冊中已經有說明

在一個函數(shù)域內部用 global 語句導入的一個真正的全局變量實際上是建立了一個到全局變量的引用。。這有可能導致預料之外的行為
綰青絲 回答

if后面的else去掉,直接調用那個函數(shù)就行了!

毀與悔 回答

我覺得會報錯吧,按理一個類不會折疊的

舊城人 回答

oracle主鍵log_id 不能自動遞增
有兩個辦法:
1、使用oracle的自動增長序列
創(chuàng)建序列

create sequence S_T_THINK_LOG
increment by 1  //指定序列以1遞增,如果沒指定,默認值1會使用
start with 1        //由1開始計數(shù)
nomaxvalue     //不設置最大值
minvalue 1      //設置最小值1
cache 20        //預分配緩存大小為20
order
// 獲取下一個自增ID
public function getNextSeq(){ 
  $sql = "select S_T_THINK_LOG.nextval id from sys.dual";
  $result = $this->query($sql); 
  $nextId = $result[0]['id'];
  return $nextId;
}

function writelog($uid,$username,$description,$status)
{
    // 注意這里啦 
    // 注意這里啦 
    $data['log_id'] = $this->getNextSeq();
    
    $data['admin_id'] = $uid;
    $data['admin_name'] = $username;
    $data['description'] = $description;
    $data['status'] = $status;
    $data['ip'] = request()->ip();
    $data['add_time'] = time();
    $log = Db::name('think_log')->insert($data);

}

第二種,就是樓上說的 觸發(fā)器啦

create or replace trigger trg_TINK_LOG
  before insert on TINK_LOG
  for each row
declare
begin
  :think_log.LOG_ID:= S_T_THINK_LOG.NEXTVAL;  
end trg_t1;
詆毀你 回答

不需要嵌套循環(huán),

$tmp = []; //臨時變量用來保存上一次merge后的結果,方便下次merge時使用
foreach ($arr as $ar) {
    $result = array_merge($ar ,$tmp); //將三維數(shù)組的每一個元素逐個取出,與$tmp合并
    $tmp = $result; //保存本次合并結果,方便下次合并時使用
}
var_dump($result);
兔寶寶 回答
  1. Trait
  2. 寫一個BaseController
尋仙 回答

不需要的. 在laravel的routes/web.php 里面, 把prefix加上就好了.

其實還是建兩個域名好.

近義詞 回答

$msg沒數(shù)組 報錯信息 寫了 array_push第一個參數(shù)要 數(shù)組 你給了null

薔薇花 回答

為什么要給定字符串而不是整型數(shù)據(jù)

神曲 回答

個人認為的解決方案:
1.搞一個權限系統(tǒng),然后在配置文件中做一個權限標識,不同的權限對應的不同的標識

2.第二種就是對已知的配置文件權限進行分組,然后分開去緩存,然后不同權限的調用不同的緩存

陌南塵 回答

1000條數(shù)據(jù)不算太大吧。