鍍金池/ 問答/ PHP問答
命多硬 回答

單引號不解析變量,雙引號解析變量,把單引號換成雙引號就行啦

萢萢糖 回答

curl_multi_init 并行地處理批處理cURL
http://php.net/manual/zh/func...

多線程發(fā)送CURL,很適合你現(xiàn)在的批量處理的場景。

抱緊我 回答

登錄后臺
點擊站長 UCenter設(shè)置 拉倒最下面

clipboard.png

使用靜態(tài),這樣就可以成功,但是與此同時,還會帶來其他的問題,就是默認頭像不顯示,不過這個問題就好解決一點,
直接百度一下,在diy模板上修改一下圖片地址就可以了

小曖昧 回答

BRPOP命令和RPOP命令相似,唯一的區(qū)別是當(dāng)列表中沒有元素時BRPOP命令會一直阻塞住連接,直到有新元素加入。
另外Redis本就是單線程的,一個訂單一個名額的話,你直接放個string不就行了,有這個key則取,無則返回不能下單了(Redis的操作本就是單線程)

歆久 回答

這種高度定制化的需求基本上沒有什么類庫處理,而且這個需求也很簡單,自己循環(huán)處理下就能完成阿。
你覺得不用orm框架寫的費勁的話,多熟悉下sql和php數(shù)據(jù)處理方面,就方便多了,
也可以自己寫model 中的方法處理了。

祈歡 回答

你隨便找個有論壇,論壇好多都有QQ登錄,你參考下論壇注冊登錄步驟就可以了。
1.數(shù)據(jù)庫賬號表新增字段openid,頭像。
2.獲取openid,之后查表,有對應(yīng)數(shù)據(jù)就直接登錄了。
沒有則把獲取的用戶openid以及微信名稱,頭像等信息放入cookies或者session,跳轉(zhuǎn)到登錄頁,或者可以存到表里面,跳轉(zhuǎn)到注冊或者登錄的時候把openid當(dāng)成參數(shù)跳轉(zhuǎn)過去。
這個時候的登錄頁面和注冊頁面跟平時比,多了一個綁定openid的操作。

傻丟丟 回答

使用 composer 管理.

在A,B項目中, composer.json 中添加

    "require": {
        // ...
        "C的composer名字": "C的版本"
        // ...
    }

修改C的話, 是在單獨的項目中, 修改以后, 在A,B中使用composer update C的名字 來更新.

妖妖 回答

如果你正在使用PHP的memcached擴展,你可以將memcached.sess_locking設(shè)置為“off”,來避免session鎖。
文件的話參考手冊:

<?php
// 如果確定不修改會話中的數(shù)據(jù),
// 我們可以在會話文件讀取完畢之后立即關(guān)閉它
// 來避免由于給會話文件加鎖導(dǎo)致其他頁面阻塞
session_start([
    'read_and_close'  => true,
]);

memcached擴展的鎖實現(xiàn):

clipboard.png

情未了 回答

大概這么個思路:

有個預(yù)定表吧,字段大概如下,date日期,time時間點,location倉位

date     time   location
20180906 09:00    1
20180906 09:00    2
20180906 10:00    2

取出來預(yù)定信息形成如下數(shù)組格式:

$result = ['09:00-1', '09:00-2', '10:00-2'];

因為你的時間點列表和倉位列表是固定好的,不容易變動的存在。所以可以提前定義一個數(shù)組(當(dāng)然如果不是固定好的,可以按照你的業(yè)務(wù)生成相應(yīng)的格式)。
一個是時間點數(shù)組,就是你圖片中左側(cè)的時間點:

$times = ['09:00', '10:00', '11:00', '12:00', '13:00'];

一個是倉位數(shù)組:

$locations = ['1' => '一號倉', '2' => '二號倉'];

偽代碼如下:

foreach ($times as $time) {
    foreach ($locations as $id => $name) {
        if (in_array($time . '-' . $id, $result)) {
            echo '已預(yù)訂';
        } else {
            echo '未預(yù)定';
        }
    }
    echo '<br/>';
}

以上。

只愛你 回答

CURL速度慢可能與Expect:100-Continue有關(guān),可以修改下代碼試驗一下:
http://www.laruence.com/2011/...

話寡 回答

laravel的測試是這樣的。如果要測請求服務(wù)器,要自己改改。把里面的 app 換成遠程的。

舊顏 回答

你應(yīng)該了解一下數(shù)組去重

let obj = {};
arr.map((c) => {
    let str = JSON.stringify(c);
    if(!obj[str]){
        obj[str] = c
    }
})
let new_arr = Object.keys(obj).map((k) => obj[k]);
console.log(new_arr)
糖果果 回答
? vue在各種功能上能不能完全代替Jquery?

不能。

事實上的情況是,用了 vue 這種層面的東西,需要再用 jQuery 的場景會少一些了。因為需要你手動操作節(jié)點,處理事件的機會更少了。

所以,如果 vue 自己的一些東西已經(jīng)完全滿足你的需要,那你沒機會再用到 jQuery 的 api 。如果不滿足你的需要,那么你可以用 jQuery ,也可以直接用原生的 api 實現(xiàn)一些東西,畢竟,現(xiàn)在市面上兼容性問題已經(jīng)不像以前那么尷尬了。

還有什么樣的js框架適合我的項目?React?

無所謂是否適合你的項目,你只需要考慮,你會什么就好了。 vue / react/ angular 隨便選一個學(xué)學(xué)就好。( react 是最流行的, vue 也許比較容易上手,我是一直用 angular 的,并且認為前兩者相沒有什么吸引我的新東西)

? Jquery有bootstrap這樣漂亮的ui框架,vue有沒有配套的ui框架?

有。如果找不到,不會搜索,那是另一個問題了。

django是不是自帶一套ui界面啊,我看他的啟動界面還是挺漂亮的。

django 自帶的是管理后臺,僅僅是后臺。

? 我的網(wǎng)站里有一個新聞欄,就是推送各種用戶的新聞,我想這個功能應(yīng)該是用nosql的數(shù)據(jù)庫更適合(我猜的),那應(yīng)該會用到nosql這樣的數(shù)據(jù)庫如mongodb等,那Django框架對哪一種nosql數(shù)據(jù)庫匹配更好?

你覺得“更適合”并沒有什么用,因為你并不具備判斷這些技術(shù)方案的基礎(chǔ)知識。換句話說,老老實實把關(guān)系數(shù)據(jù)庫用好再說吧。(到那個時間你就會發(fā)現(xiàn),所謂的 nosql ,在大多數(shù)的業(yè)務(wù)邏輯型的場景下,都是不必要的)

? 除了nosql數(shù)據(jù)庫的應(yīng)用,我的網(wǎng)站里還有各種結(jié)構(gòu)化數(shù)據(jù),我在django中同時使用結(jié)構(gòu)化的數(shù)據(jù)庫,如mysql,或者自帶的sqlite,那在同一個項目里同時使用mongodb和mysql,不會有什么困難吧?最怕有異常八阿哥。

不會有困難。但是對你有沒有困難就不一定了。

? 大家對我這個轉(zhuǎn)型或者說重構(gòu)方案有什么建議?

just do it 。

念舊 回答

貌似影響用戶體驗,還是在找尋其它的辦法吧

神曲 回答

上文中所寫的代碼極其危險

建議對于這種嵌有HTML的內(nèi)容 通過使用模板文件進行存儲,使用占位符的形式來對內(nèi)容進行替換。

建議方案

  • email.template
<html>
    <head>
        {$phpmailer_css_style}
    </head>

    <body>
    <div class="edm-layout">
      <img src="{$host_url}images/logo.png">
      <div class="line"></div>
    </div>

    <div class="edm-content">
      <div class="edm-hithere">
        嗨,{$user_name} <br>XXX {$prod_total}XXXXX<br>XXXXXX{$this_total} XXX
      </div>
      
        <div class="edm-products">
            {$row_distinct}
        </div>
      </div>
    </div>
  </body>
</html>
  • EmailTemplate.php

<?php
$php_version = version_compare(phpversion(), '7');
/**
 * 必須php 7
 */
if ($php_version === -1) {
    die('Need a high version of php 7.1.*');
}
/**
 * EmailTemplate
 */
class EmailTemplate
{
    /**
     * @param string $template_path 模板路徑
     * @param array $args 變量組
     * @return string 渲染后的
     * @throws Exception
     */
    public static function render(string $template_path, array $args): string
    {
        if (!file_exists($template_path)) {
            throw new Exception("Not found template fiel.", 1);

        }
        $template = file_get_contents($template_path);
        $result = preg_replace_callback('!\{\$(\w+)\}!', function ($matches) use ($args) {
            $arg = $matches[1];
            return $args[$arg] ?? '';
        }, $template);
        return $result;
    }
}
  • demo.php
$body = EmailTemplate::render(
    'email.template',
    [
        'host_url' => 'http://xxx',
        'phpmailer_css_style' => 'empty',
        'user_name' => '張三',
        'prod_total' => '100.00',
        'this_total' => '10000.00',
        'row_distinct' => 'empty',
    ]
);

這樣就實現(xiàn)了一個簡單的模板替換。

毀與悔 回答

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

挽青絲 回答

1.你這就是個圖片為啥要用iframe標(biāo)簽?zāi)兀?br>2.水平垂直居中也就是讓iframe居中,寬度是100%的,所以沒有居中的說法,垂直方向設(shè)置position:fixed;top:50%;margin-top:-250px;

舊城人 回答

why?直接用它提供的ORM不是更好

裸橙 回答

貼出更加完整的關(guān)鍵代碼吧,這樣看不出問題的。

枕邊人 回答

方法一:composer 局部安裝
方法二:修改 PATH 環(huán)境變量,對應(yīng)你需要的 PHP 版本
方法三:為什么要刪掉 /usr/bin/php ?重命名,再加個你需要的 PHP 版本的軟鏈接,至于 Rootless 保護機制你可以參考知乎

方法二:

系統(tǒng)自帶 PHP ,位置 /usr/bin
:

1)我安裝的是 zsh ,所以我在 .zshrc 里面配置我的 PATH ,內(nèi)容為 export PATH=/Applications/XAMPP/xamppfiles/bin:$PATH;

    $ sudo vim .zshrc

2)重新加載:

    $ source .zshrc
    

3)完成
圖片描述