экспортируйте csv в платформе зенда

Приправление карри преобразовывает единственную функцию n аргументы в функции n с отдельным аргументом каждый. Учитывая следующую функцию:

function f(x,y,z) { z(x(y));}

, Когда приправлено карри, становится:

function f(x) { lambda(y) { lambda(z) { z(x(y)); } } }

для получения полного приложения f (x, y, z), необходимо сделать это:

f(x)(y)(z);

Много функциональных языков позволяют Вам записать f x y z. Если Вы только звоните f x y или f (x) (y) тогда, Вы добираетесь, частично примененный function— возвращаемое значение является закрытием lambda(z){z(x(y))} с переданным - в значениях X и Y к f(x,y).

Один способ использовать частичное приложение состоит в том, чтобы определить функции как частичные приложения обобщенных функций, как [1 116] сгиб :

function fold(combineFunction, accumulator, list) {/* ... */}
function sum     = curry(fold)(lambda(accum,e){e+accum}))(0);
function length  = curry(fold)(lambda(accum,_){1+accum})(empty-list);
function reverse = curry(fold)(lambda(accum,e){concat(e,accum)})(empty-list);

/* ... */
@list = [1, 2, 3, 4]
sum(list) //returns 10
@f = fold(lambda(accum,e){e+accum}) //f = lambda(accumulator,list) {/*...*/}
f(0,list) //returns 10
@g = f(0) //same as sum
g(list)  //returns 10
15
задан aimfeld 16 July 2009 в 11:39
поделиться

2 ответа

Мы нашли решение проблемы. Я заменил следующую строку

$this->_helper->viewRenderer->setNoRender();

на

$this->_helper->viewRenderer->setNeverRender();

. Если используется setNeverRender (), представления не отображаются (ни из плагина).

7
ответ дан 1 December 2019 в 04:34
поделиться
public function getCsv($tableName, $fileName)
{   
    $content = new $tableName();

    $content_arr = array();     
    $content_arr = $content->fetchAll('1=1','id ASC');

    $csv_terminated = "\n";
    $csv_separator = ",";
    $csv_enclosed = '"';
    $csv_escaped = "\\";        

    $schema_insert = "";

    $l = $csv_enclosed . str_replace($csv_enclosed, $csv_escaped . $csv_enclosed,
    stripslashes("Email Address")) . $csv_enclosed;
    $schema_insert .= $l;
    $schema_insert .= $csv_separator;

    $l = $csv_enclosed . str_replace($csv_enclosed, $csv_escaped . $csv_enclosed,
    stripslashes("Add Date")) . $csv_enclosed;
    $schema_insert .= $l;
    $schema_insert .= $csv_separator;

    $out = trim(substr($schema_insert, 0, -1));
    $out .= $csv_terminated;

    if(count($content_arr) > 0)
    {               
        foreach($content_arr as $content)
        {   
             $schema_insert = '';

            if ($content->email != '' || $content->add_date != '')
            {                           
                    $schema_insert .= $csv_enclosed . 
                    str_replace($csv_enclosed, $csv_escaped . $csv_enclosed, $content->email) . $csv_enclosed;

                     $schema_insert .= $csv_separator;

                    $schema_insert .= $csv_enclosed . 
                    str_replace($csv_enclosed, $csv_escaped . $csv_enclosed, $content->add_date) . $csv_enclosed;
                    $schema_insert .= $csv_separator;

           }        

            $schema_insert .= $csv_separator;
            $out .= $schema_insert;
            $out .= $csv_terminated;

        }
    }
    return $out;
}`
0
ответ дан 1 December 2019 в 04:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: