小编ako*_*ond的帖子

Zend Framework 2 - 渲染CSV数据

我有一个模型,返回带有ID,名称,价格等的汽车数据.所以我有一个汽车控制器和一个从模型中获取此数据的csv动作:

$carTable = $this->getServiceLocator()->get('Application\Model\DbTable\Cars');
$cars = $carTable->fetchAll();
Run Code Online (Sandbox Code Playgroud)

我需要将此"$ cars"数据下载为CSV文件,以便用户将其存储在磁盘上.

我试图禁用布局并回显CSV字符串并设置"内容类型"和其他标题,但它没有开箱即用.然后我发现我应该创建一个自定义的CsvRenderer并在配置中注册它.

由于我在ZF2网站或博客和Stackoverflow答案中找不到任何关于此的文档,我想知道这是否是在ZF2中将数据下载为CSV的推荐通用方法?还是有一个我不知道的更简单的解决方案?

谢谢

csv zend-framework2

1
推荐指数
1
解决办法
6313
查看次数

Zf2 - 使用uri获取控制器名称/操作名称

有没有办法使用给定的uri获取控制器名称和操作名称?

例:

uri: http://test/client/edit/48
Run Code Online (Sandbox Code Playgroud)

控制器名称=>客户端操作名称=>编辑

zend-framework2

1
推荐指数
1
解决办法
3905
查看次数

Apache Server 在转发请求之前在自定义标头中添加客户端 IP

在这种情况下,Apache Http Server 将充当反向代理并位于主应用程序服务器的前面。在应用程序服务器中,需要记录客户端 IP 地址。

我的要求是捕获客户端IP地址,然后将此IP地址添加为自定义请求头(例如TRUEIP=123.123.123.123)并将其转发到应用程序服务器。请注意,我已阅读有关将原始客户端 IP 记录到 apache 日志的文章。但是我要求访问 IP 地址并将其添加到标头中。此外,我确实尝试使用“%{h}i”或“%{h}e”访问环境变量,但在这种情况下,标题值显示为“i=18”(不带引号)。实际上,对于 User-Agent,Referer 的标题值也打印了相同的“i=18”。

请帮我解决一个问题。

我在 Windows 7 上使用 Apache 2.4.28(来自 apache 休息室)。 Oracle OC4J 中使用的应用程序服务器(但我只需要在 Apache 端进行配置,因为应用程序在不同的环境中可能会有所不同)。

apache reverse-proxy jakarta-ee

1
推荐指数
1
解决办法
2039
查看次数

Clojure嵌套剂量环

我是Clojure的新手,我有一个关于嵌套doseq循环的问题.

我想迭代一个序列并得到一个子序列,然后得到一些键来在所有序列元素上应用一个函数.

给定的序列具有或多或少的结构,但有数百本书籍,书架和许多库:

([:state/libraries {6 #:library {:name "MUNICIPAL LIBRARY OF X" :id 6 
:shelves {3 #:shelf {:name "GREEN SHELF" :id 3 :books  
{45 #:book {:id 45 :name "NECRONOMICON" :pages {...}, 
{89 #:book {:id 89 :name "HOLY BIBLE" :pages {...}}}}}}}}])
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

(defn my-function []   (let [conn  (d/connect (-> my-system :config :datomic-uri))]
(doseq [library-seq (read-string (slurp "given-sequence.edn"))]
  (doseq [shelves-seq (val library-seq)]
    (library/create-shelf conn {:id (:shelf/id (val shelves-seq)) 
                                :name (:shelf/name (val shelves-seq))})
    (doseq [books-seq (:shelf/books (val shelves-seq))]
      (library/create-book conn (:shelf/id (val shelves-seq)) {:id …
Run Code Online (Sandbox Code Playgroud)

loops nested clojure

1
推荐指数
1
解决办法
299
查看次数

不同的排序方式一键 Clojure

嘿,我有这个代码,但我只想反转 :a 键。

(sort-by (juxt :a :b) [{:a 1 :b 3} {:a 1 :b 2} {:a 2 :b 1}])
;;=> [{:a 1 :b 2} {:a 1 :b 3} {:a 2 :b 1}]
Run Code Online (Sandbox Code Playgroud)

我试过这个,但这是错误的顺序。

(sort-by (juxt :a :b) #(compare %2 %1)  [{:a 1 :b 3} {:a 1 :b 2} {:a 2 :b 1}])
;;=> ({:a 2, :b 1} {:a 1, :b 3} {:a 1, :b 2})
Run Code Online (Sandbox Code Playgroud)

我想得到。

;;=> ({:a 2, :b 1} {:a 1, :b 2} {:a 1, :b 3})
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?我也可以这样做吗?

clojure

1
推荐指数
1
解决办法
78
查看次数

包含的 Clojure 库中是否有一个函数可以将一个字符串围绕另一个字符串拆分?

我知道在clojure.string那里有一个split函数,它返回字符串部分的序列,不包括给定的模式。

(require '[clojure.string :as str-utils])
(str-utils/split "Yes, hello, this is dog yes hello it is me" #"hello")
;; -> ["Yes, " ", this is dog yes " " it is me"]
Run Code Online (Sandbox Code Playgroud)

但是,我试图找到一个函数,而不是将标记作为返回向量中的元素。所以它会像

(split-around "Yes, hello, this is dog yes hello it is me" #"hello")
;; -> ["Yes, " "hello" ", this is dog yes " "hello" " it is me"]
Run Code Online (Sandbox Code Playgroud)

在任何包含的库中是否有执行此操作的函数?任何在外部图书馆?我一直在尝试自己写,但一直无法弄清楚。

string split clojure

1
推荐指数
1
解决办法
206
查看次数

Clojure 中的交易 x 手牌数量 - vs 分区

在 Clojure 中向一定数量的玩家发牌的最惯用和最有效的方式是什么?Clojure 的分区实际上并没有模拟真实世界的物理纸牌交易。

注意:我希望能够与任意数量的玩家交易。如果纸牌被完全不平等地处理也没关系。我想非常通用地处理低于 52 的卡......或混合的多副牌。

可用卡和空函数签名的示例数据结构:

(def sample-cards 
    [[:5 :Heart]
    [:8 :Spade]
    [:7 :Club]
    [:9 :Diamond]
    [:J :Spade]
    [:Q :Heart]
    [:5 :Spade]
    [:8 :Club]
    [:6 :Diamond]])


(defn deal-cards [players deck]
    ; some logic/looping 
    ; then return give the args 4 and sample-cards
    [[[:5 :Heart] [:J :Spade] [:6 :Diamond]]
    [[:8 :Spade] [:Q :Heart]]
    [[:7 :Club]  [:5 :Spade]]
    [[:9 :Diamond] [:8 :Club]]])
Run Code Online (Sandbox Code Playgroud)

algorithm clojure

1
推荐指数
1
解决办法
140
查看次数

为什么这不返回包含 100 个密钥对的地图?

我预计有 100 个密钥对,但实际只有 6 个。为什么?

(defn random-map-generator [size]
  (def theatom (atom {}))
  (dotimes [x size]
    (swap! theatom assoc 
      (keyword (nth ["a" "b" "c" "d" "e" "f"] (rand-int 6)))
      (rand-int 30)))
  @theatom)

(random-map-generator 100)
=> {:f 4, :a 29, :e 15, :c 23, :b 19, :d 28}
Run Code Online (Sandbox Code Playgroud)

clojure

1
推荐指数
1
解决办法
70
查看次数

ClojureScript中String.prototype.startsWith的实现

我需要将此Javascript代码转换为ClojureScript。我在使用this关键字时遇到了麻烦。

这是我的JS:

if (!String.prototype.startsWith) {
  String.prototype.startsWith = function(searchString, position) {
    position = position || 0;
    return this.indexOf(searchString, position) === position;
  };
}
Run Code Online (Sandbox Code Playgroud)

Object doesn't support property or method 'startsWith'在高级模式下遇到了Google Closure编译器错误,因此需要添加此代码。(IE 11)

javascript object clojurescript

0
推荐指数
1
解决办法
108
查看次数

带计数的 Clojure 循环

我是 Clojure 的新手,会帮助处理一些代码。我有一个接受向量的函数,我想遍历向量并获取索引“i”处的值和“i”本身的值。'i' 是在循环中递增的值。

我在Clojure的文档检查“为”在和写了下面的代码。

(for [i some-vector]
      (print (get-intersec i (.length some-vector) loop-count)))
Run Code Online (Sandbox Code Playgroud)

循环计数变量应该是循环计数。

我也检查了循环,但它似乎不是一个可行的解决方案。有人可以帮助我使用我可以使用的 clojure 函数,或者帮助我编写可以执行此操作的宏或函数。

谢谢你。

Ps:为了解决我的问题,我使用自己的计数器,但想要更好的解决方案。

clojure

0
推荐指数
1
解决办法
754
查看次数