鍍金池/ 問答/ PHP問答
笨尐豬 回答

clipboard.png
Route::resource(':version/user','api/:version.User'); //注冊(cè)一個(gè)資源路由,對(duì)應(yīng)restful各個(gè)方法

淡墨 回答

400k花了8s,網(wǎng)絡(luò)問題,可以ping下你的本地網(wǎng)絡(luò)到服務(wù)器的響應(yīng)時(shí)間,看有沒有丟包

尕筱澄 回答

為避免種族歧視之嫌,我們只討論站點(diǎn)吧。

題主在站點(diǎn)上的設(shè)計(jì)是有問題的,拿北京-鄭州-廣州舉例(火車從北京到廣州是不可能經(jīng)過上海的),客人選了北京-廣州的班次,但買的是北京-鄭州段,那么:

  • 首先看北京-鄭州段有沒有庫存,有的話就減1;
  • 如果沒有該段庫存,那么找最短的包含該段的庫存,例如北京-漢口,這樣會(huì)北京-漢口的庫存減1,同時(shí)鄭州-漢口的庫存加1。
忘了我 回答

自問自答
仿問時(shí)候先將
$this->db->cache_off();
后再
$this->db->cache_on();

冷眸 回答

大部份情況是,PHP早期的開發(fā)并不規(guī)范(這從它的函數(shù)命名、參數(shù)順序等都可以看出),這樣就導(dǎo)致某個(gè)功能的函數(shù)被做出來后,命名并不是一個(gè)普遍常用的名字,后來,為了更規(guī)范,將一些函數(shù)的命名改成與大多數(shù)語言一致的命名,但因?yàn)榕f版本的兼容問題,就保留了原來的名字。

耍太極 回答

首先你的一個(gè)思維是很好的,就是利用traits復(fù)用代碼,traits本身設(shè)計(jì)解決PHP無法多繼承和代碼復(fù)用

不過你上面的設(shè)計(jì),我想到的一些問題:

  1. 如何同時(shí)存在一個(gè)服務(wù)的不同版本(難道你又維護(hù)一個(gè)不同版本的traits)
  2. 如何你的類只是繼承了不同功能traits,那為什么直接用相應(yīng)的基類做,要用traits來做,這個(gè)問題值得你思考
  3. traits在實(shí)際開發(fā)中,更多的是充當(dāng)一些抽象的公用部分,比如一個(gè)抽象A類和抽象B類, 他們可能同時(shí)要公用一些方法或什么,你可以用traits
  4. 你提出這個(gè)問題的時(shí)候,我這邊感受到的是你更多要去思考的是怎么設(shè)計(jì)類和怎么設(shè)計(jì)你的軟件架構(gòu)問題
礙你眼 回答
echo <<<SCRIPT
<script>
function open(){
    console.log('werweq');

}
</script>
SCRIPT;
陌如玉 回答

uploadFile 應(yīng)該是jquery 的插件吧,我不太清楚它能不能獲取圖片的寬高,但是php 可以通過getimagesize() 獲取圖片信息,當(dāng)然還有imagesx(),imagesy()這種函數(shù),但是我覺得像坐標(biāo),寬高這些還是由前端提供好些,我推薦使用這個(gè)插件:

https://github.com/blueimp/jQuery-File-Upload

還有上傳過程中設(shè)置大小,如果是單純的js,那么圖片的尺寸是不會(huì)改變的,你要通過給服務(wù)端提供原圖以及放大縮小的比例或者坐標(biāo),在服務(wù)器端進(jìn)行操作,當(dāng)然如果你在前端用的是 Canvas 來操作圖片,那么它會(huì)直接進(jìn)行放大縮小裁剪之類的操作,并且會(huì)把圖片以二進(jìn)制流的形式傳給服務(wù)端

撥弦 回答

啊,之前看過新的分級(jí)表設(shè)計(jì),具體鏈接名字我忘了,所以直接告訴你設(shè)計(jì)方案吧。
字段: id(主鍵 ) top_id(原始 ID) pid(上級(jí) ID) name(內(nèi)容) lv_num(所屬等級(jí))
?,F(xiàn)在你看到這里,你可以思考下這樣設(shè)計(jì)的優(yōu)劣,如果能直接想明白是最好的,如果不能明白,請(qǐng)看下面:

每個(gè)分類通過記錄三個(gè)字段來實(shí)現(xiàn)管理,分別為 祖先ID top_id ,這是記錄該數(shù)據(jù)的最上級(jí)分類,而 pid 則記錄上級(jí)分類,lv_num 記錄當(dāng)前分類所屬的級(jí)別。這樣的話,如果要找到對(duì)應(yīng)分類下面的所有數(shù)據(jù),只需要通過 top_id 就能直接獲取到所有的,而如果只想要獲取下一級(jí)的則可以通過 pid 獲取到。如果要找到某個(gè)級(jí)別的,完全可以通過 lv_num 獲取到。如果要某個(gè)分類下面的同級(jí)則可以 pid and lv_num 就可以實(shí)現(xiàn)。最后,如果要找到某個(gè)大分類下面第幾級(jí)的所有分類則通過 top_id and lv_num 實(shí)現(xiàn)。

可以對(duì)比下其它設(shè)計(jì)優(yōu)劣進(jìn)行對(duì)比。

葬愛 回答

不知道ab.exe測試時(shí)什么原理,你自己寫一個(gè)多線程調(diào)用下就知道了會(huì)產(chǎn)生負(fù)數(shù)值的。

//php不會(huì),用java寫了個(gè)test。
import redis.clients.jedis.Jedis;


public class Test {
    
    public static void main(String[] args) throws Exception {
        
        Jedis jedis = getJedis();
        jedis.set("nums", 50+"");
        close(jedis);
        
        for(int i = 0;i < 1000;i++){ //啟動(dòng)1000個(gè)線程
            new Thread(new MyTask()).start();
        }
        
    }
    
    public static  Jedis getJedis(){
        Jedis j = new Jedis("xxxxx", 6379);
        j.auth("xxxx");
        return j;
    }
    
    public static void close(Jedis jedis){
        if(null == jedis){
            return;
        }
        jedis.close();
    }
}

class MyTask implements Runnable{
    @Override
    public void run() {
        Jedis j = Test.getJedis();
         String numStr = j.get("nums");
         Integer nums = Integer.valueOf(numStr);
        
        if(nums > 1){
             j.decr("nums");
        }else{
             System.out.println(nums);
        }
        Test.close(j);
    }
}

輸出結(jié)果出現(xiàn)負(fù)值。

祈歡 回答

打斷點(diǎn)

F12開發(fā)者工具-sources
可以設(shè)置停止的點(diǎn)
執(zhí)行到你設(shè)置的停止點(diǎn),就中斷了。

將點(diǎn)設(shè)置到彈窗關(guān)閉前那句

具體設(shè)置方法,是在想要設(shè)置的那一行行數(shù)上點(diǎn)擊一下

巴扎嘿 回答

你想要出驗(yàn)證碼嗎?
<input type="text" class="input-text radius mt-10" style="width: 70px;text-align: center;" placeholder="驗(yàn)證碼" required="" name="yanzhengma" id="yanzhengma">

     <img id="img" onclick="getimg(this)" style="width:150px;height: 40px;" src="{:U('Login/verify')}" alt="verify_code">
      <br>
      ————————————————————————————————————————————————————————————————————————————————
      
      <script>
function getimg(data){

//"+id="+Math.random()

  data.src="{:U('Login/verify')}"+'?'+"id="+Math.random();
    //console.log(Math.random());
  console.log("{:U('Login/verify')}"+'?'+"id="+Math.random());

}

</script>

孤酒 回答

像你這個(gè)數(shù)量級(jí),只要表上有合適的索引,不用緩存也行

涼汐 回答

1.把ajaxsuccess回調(diào)和error回調(diào)都寫上,方便調(diào)試問題,別圖省事
2.把var_dump改為echo
3.json_encode的第二個(gè)參數(shù)不是true/false

不討喜 回答

官網(wǎng):MySQL :: MySQL 5.5 Reference Manual :: C.10.4 Limits on Table Column Count and Row Size: https://dev.mysql.com/doc/ref...

MySQL has hard limit of 4096 columns per table, but the effective maximum may be less for a given table. The exact column limit depends on several factors:

還有,如果都考慮列數(shù)極限了,那么就要思考一下設(shè)計(jì)是不是有問題了

貓小柒 回答

一開始使用的是MingGW,后來改為使用mingw-w64就解決了問題。Google了一下,應(yīng)該是MingGW中的gcc或者gdb版本太低的問題