PHP: re-index array after removing an element
php 的陣列中移除一個元素後,如何把 index 重排(意即被移除的元素之後的所有元素的 index 往前移) unset($foo[5]); // remove item at index 5 $foo2 = array_values($foo); // ‘reindex’ array
php 的陣列中移除一個元素後,如何把 index 重排(意即被移除的元素之後的所有元素的 index 往前移) unset($foo[5]); // remove item at index 5 $foo2 = array_values($foo); // ‘reindex’ array
php 內建的 mail() 是透過 local smtp, 但要走外面的 smtp server 的話, 可以用 PHPMailer 另外 HTML to Text 也有人家寫好的套件可以用 html2text
新舊版本的寫法差蠻多的,被舊的 phalcon devtools 自動產生的 model 給陰了..
php5 的時候還可以用 Mongo, 但是到了 php7 就強制要換成 MongoDB 才可以, 安裝方式如下(要先有 pecl) #如果有遇到 openssl 的問題的話, 可以先做下面這三行 $ sudo apt-get install -y autoconf g++ make openssl libssl-dev libcurl4-openssl-dev $ sudo apt-get install -y libcurl4-openssl-dev pkg-config $ sudo apt-get install -y libsasl2-dev #沒問題的話就直接做這個吧 $ sudo pecl install mongodb #安裝完之後要把 extension 加入 ini 中 $ sudo nano /etc/php/7.0/mods-available/mongo.ini #寫入 extension=mongodb.so […]
最近踩到 apcu 的 deadlock 地雷,紀錄一下
主要重點在 1) 產生 postdata array 2) 檢查 response http status code 3) curl_options
在一般狀況下其實不需要自訂404 page也不會怎麼樣,但是如果用 phalcon dev tools 做 CRUD 頁面出來,有些狀況可能是不需要 create 資料的,比方說對 log 只需要看,沒有道理從頁面上手動 create
Sometimes you need a JSON RESTful api interface in a MVC controller, which usually generate HTML results to users. public function createAction() { $this->view->disable(); $resp = new \Phalcon\Http\Response(); $resp->setHeader(“Content-Type”, “application/json”); //….. $resp->send(); return; }
原本 php 要做 cache 就只能用 apc 這個 package (pecl install apc), 但從 php 5.6 之後,有了 opcache,可以取代掉一部分工作。詳細可以看這邊。 然而 opcache 只有做 code caching,所以 user data caching 的工作還是要找其他的方案,但是在我自己的環境(ubuntu 16.04, apache 2.4, php 7, phalcon 3) 已經不能安裝 apc(會出錯),所以只好用 apcu (pecl install apcu) 至於使用方式跟 apc 差不多,可以參考官方文件說明。我覺得最好的地方在於可以設 ttl timeout,這樣對於一些暫時性的資料(例如 authentication key)就不用開個 table 去維護了。另外如果資料不多,也不用去搞個 redis 來當 cache…
前幾天(2016/7/29) phalcon 出了 3.0 版本,可以正常地(?)在 php 7 環境裏頭去執行。 要不然之前在 php 7 環境裝 phalcon 2.0.13 根本就是自討苦吃