sasezaki http://twitter.com/sasezaki
Zend Framework というプロダクト・コンセプトが世にでてから11年が経過しようしています。この発表では、私がZend Frameworkを中心に PHPのOSSに関する各種トピックについて感じたことを振り返って見たいと思います。
- 導入
- Zend Framework 登場前
#!/bin/sh | |
PYRUS=/path/to/pyrus.phar | |
php $PYRUS . set bin_dir ./bin | |
pear download components.ez.no/Base | |
pear download components.ez.no/ConsoleTools | |
php $PYRUS . channel-discover pear.phpunit.de | |
php $PYRUS . channel-discover components.ez.no | |
php $PYRUS . channel-discover pear.symfony-project.com | |
php $PYRUS . install Base-1.8.tgz | |
php $PYRUS . install ConsoleTools-1.6.1.tgz |
sasezaki http://twitter.com/sasezaki
Zend Framework というプロダクト・コンセプトが世にでてから11年が経過しようしています。この発表では、私がZend Frameworkを中心に PHPのOSSに関する各種トピックについて感じたことを振り返って見たいと思います。
<?php | |
/** | |
* 西暦から元号に変換(元号新規追加されてもデータセットをコンテナ注入すればいい版) | |
* | |
* @see http://tohokuaiki.hateblo.jp/entry/20110314/1300090600 | |
* @see https://github.com/mattn/go-era_jp | |
*/ | |
declare(strict_types=1); | |
class YearValue |
<?php | |
$post = [ | |
'k' => 'v', | |
'kk' => [ | |
'll' => 'あああ', | |
'l2' => [ | |
['xCode' => 'おおお'], | |
['x2Code' => 'おおお'], | |
'm1' => [ |
<?php | |
declare(strict_types=1); | |
namespace ClassHydrator { | |
interface ClassHydrationInterface | |
{ | |
public function hydrate(array $data, string $className); | |
} |
<?php | |
// INSTALL: $composer require zendframework/zend-mvc:^3 | |
// USAGE: $php -d allow_url_include=1 zend-mvc-mini.php | |
namespace Application { | |
use Zend\Router\Http\Literal; | |
use Zend\Router\Http\Segment; | |
use Zend\Mvc\Controller\AbstractActionController; | |
use Zend\ServiceManager\Factory\InvokableFactory; |
<?php | |
/** | |
* ズンドコキヨシ・コーディングに対する感想 | |
* | |
* 設問から派生したところを考えた場合、 | |
* ズンドコキヨシ問題をPHPとFSMで解く http://developer.cybozu.co.jp/akky/2016/03/zundoko-kiyoshi-in-php-and-fsm/ | |
* などは導入したほうが分かりやすくなる例としてなるほどなとは思ったり、 | |
* 短くするコードゴルフ始めてたりしてフーン(読みにくっ)と思ったり | |
* |
<?php | |
use Zend\Paginator\Paginator; | |
use Zend\Db\Adapter\Adapter; | |
use Zend\Cache\StorageFactory; | |
use Zend\Db\TableGateway\TableGateway; | |
require_once 'vendor/autoload.php'; | |
$adapter = new Zend\Db\Adapter\Adapter(array( | |
'driver' => 'Pdo_Sqlite', |
<?php | |
/** | |
* Zend Framework (http://framework.zend.com/) | |
* | |
* @link http://github.com/zendframework/zf2 for the canonical source repository | |
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com) | |
* @license http://framework.zend.com/license/new-bsd New BSD License | |
*/ | |
namespace Zend\Paginator\Adapter; |
Index: Adapter/DbSelect.php | |
=================================================================== | |
--- Adapter/DbSelect.php (revision 23657) | |
+++ Adapter/DbSelect.php (revision 23658) | |
@@ -100,7 +100,9 @@ | |
if ($rowCount instanceof Zend_Db_Select) { | |
$columns = $rowCount->getPart(Zend_Db_Select::COLUMNS); | |
- $countColumnPart = $columns[0][1]; | |
+ $countColumnPart = empty($columns[0][2]) |