Skip to content

Instantly share code, notes, and snippets.

View nanasess's full-sized avatar
🍣
Sushi chef

Kentaro Ohkouchi nanasess

🍣
Sushi chef
View GitHub Profile

v3.1 への課題として、 #1985 の内容を issues としておきます。

#1985 は、 v3.1 向けた実験的な実装です。詳細は ShoppingController のソースコメントに記載

  • #1984
  • forward(Sub Request) を使用して、 Controller の処理を抽象化。継承を使用せず、処理をオーバーライドできるようにした。
  • Order 関連の FormType の抽象化
  • 単価集計を CalculateService にまとめて、 Strategy パターンを適用
  • 支払を PaymentService にまとめて、 Adapter パターンを適用
@nanasess
nanasess / ssl.conf
Created February 3, 2017 16:25
SSL Server Test で A ランク以上を狙う設定
LoadModule ssl_module modules/mod_ssl.so
Listen 443
SSLPassPhraseDialog builtin
SSLSessionCache shmcb:/var/cache/mod_ssl/scache(512000)
SSLSessionCacheTimeout 300
SSLMutex default
SSLRandomSeed startup file:/dev/urandom 256
SSLRandomSeed connect builtin
SSLCryptoDevice builtin
#!/bin/sh
LF=$'\\\x0A'
for i in `find . -name '*.dcm.yml'`
do
sed -i.bak -e '5s/^/ inheritanceType: SINGLE_TABLE'"$LF"'/' $i
sed -i.bak -e '6s/^/ discriminatorColumn:'"$LF"'/' $i
sed -i.bak -e '7s/^/ name: discriminator_type'"$LF"'/' $i
sed -i.bak -e '8s/^/ type: string'"$LF"'/' $i
<?php
// using SendGrid's PHP Library
// https://github.com/sendgrid/sendgrid-php
// If you are using Composer (recommended)
require 'vendor/autoload.php';
// If you are not using Composer
// require("path/to/sendgrid-php/sendgrid-php.php");
$apiKey = getenv('SENDGRID_APIKEY');
$sg = new \SendGrid($apiKey);
@nanasess
nanasess / SchemaValidator.php
Created January 26, 2017 10:25
Yaml をマージする検証用
<?php
/*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
--- a/src/xselect.c
+++ b/src/xselect.c
@@ -1194,7 +1194,7 @@ x_get_foreign_selection (Lisp_Object selection_symbol, Lisp_Object target_type,
unblock_input ();
/* This allows quits. Also, don't wait forever. */
- timeout = max (0, x_selection_timeout);
+ /*timeout = max (0, x_selection_timeout);
secs = timeout / 1000;
nsecs = (timeout % 1000) * 1000000;
--- a/src/Eccube/Form/Type/SearchProductType.php
+++ b/src/Eccube/Form/Type/SearchProductType.php
@@ -54,8 +54,8 @@ class SearchProductType extends AbstractType
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
- $Categories = $this->app['eccube.repository.category']
- ->getList(null, true);
+ // $Categories = $this->app['eccube.repository.category']
+ // ->getList(null, true);
@nanasess
nanasess / eccube3.md
Last active November 25, 2019 08:11
EC-CUBE3の実装上の課題メモ

EC-CUBE3の実装上の課題

全体

  • 主に、ユーザーがカスタマイズするコードは app/Eccube 以下に置きたい
  • src/Eccube 以下のコードは、極力触らないようにしたい
    • 修正したい場合は app/Eccube 以下でオーバーライド
    • 必要なコントローラのみオーバーライドすれば良いので、2系の extends よりわかりやすいはず
    • プラグインがコントローラを継承しないように、構造で何とかしたい
@nanasess
nanasess / CalculateService.php
Last active November 28, 2016 07:01
単価集計の案
<?php
class ShopingController
{
public function confirm(Request $request)
{
// 単価集計
// 集計済みの Order を返す.
// 管理画面でも同じインターフェイスを使用可能
@nanasess
nanasess / GeneratorTest.php.patch
Last active November 7, 2016 02:48
EC-CUBE test data generator patch
--- a/tests/Eccube/Tests/Fixture/GeneratorTest.php
+++ b/tests/Eccube/Tests/Fixture/GeneratorTest.php
@@ -40,6 +40,7 @@ class GeneratorTest extends EccubeTestCase
public function testDeliveryGenerator()
{
+ $this->markTestSkipped();
$Payments = $this->app['eccube.repository.payment']->findAll();
for ($i = 0; $i < $this->numberOfDeliveries; $i++) {
$Delivery = $this->app['eccube.fixture.generator']->createDelivery();