小编Jes*_*nch的帖子

PHP ZipArchive在Windows中损坏

我使用PHP的ZipArchive类创建一个包含照片的zip文件,然后将其提供给浏览器下载.这是我的代码:

/**
 * Grabs the order, packages the files, and serves them up for download.
 *
 * @param string $intEntryID 
 * @return void
 * @author Jesse Bunch
 */
public static function download_order_by_entry_id($intUniqueID) {

    $objCustomer = PhotoCustomer::get_customer_by_unique_id($intUniqueID);

    if ($objCustomer):

        if (!class_exists('ZipArchive')):
            trigger_error('ZipArchive Class does not exist', E_USER_ERROR);
        endif;

        $objZip = new ZipArchive();
        $strZipFilename = sprintf('%s/application/tmp/%s-%s.zip', $_SERVER['DOCUMENT_ROOT'], $objCustomer->getEntryID(), time());

        if ($objZip->open($strZipFilename, ZIPARCHIVE::CREATE) !== TRUE):

            trigger_error('Unable to create zip archive', E_USER_ERROR);

        endif;          

        foreach($objCustomer->arrPhotosRequested as $objPhoto):

            $filename = PhotoCart::replace_ee_file_dir_in_string($objPhoto->strHighRes);
            $objZip->addFile($filename,sprintf('/press_photos/%s-%s', $objPhoto->getEntryID(), basename($filename)));

        endforeach;

        $objZip->close(); …
Run Code Online (Sandbox Code Playgroud)

php windows ziparchive

19
推荐指数
5
解决办法
2万
查看次数

Xcode 4:获取请求模板变量?

在Xcode 3.X中,您应该右键单击获取请求模板的谓词编辑器中的空白,以指定变量输入而不是硬编码谓词.

XCode 4在哪里?我已经选择了,右键单击,选项单击等,无法弄清楚....

获取请求模板编辑器谓词中的变量

core-data objective-c xcode4

15
推荐指数
2
解决办法
6728
查看次数

LLDB:使用指向内存中对象的指针显示所有对象

所以,在断点处,我有一个随机对象实例.我想弄清楚哪些对象有一个指向这个对象的指针.有没有办法在调试器控制台中看到这个?也许某些东西向我展示了对象上有保留的所有对象?

示例:我有一个NSViewController实例,我想看到包含此​​视图控制器实例的指针的所有其他对象.这将是有用的,因为它将允许我看到封装我的实例的视图控制器层次结构.

只是一个疯狂的想法我有时会真的有所帮助.

debugging objective-c lldb

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

MVC和存储库模式:控制器,模型和存储库的角色?

所以我一直在研究存储库模式的作用,作为在MVC框架中将持久层与我的模型分离的一种方法.在此之前,我可能UserModel直接使用我的调用活动记录方法来存储/检索域对象.

这是我正在考虑的关于应该创建新的请求中的调用堆栈的草图User:

在此输入图像描述

这是我的问题:

  1. 这是存储库模式的正确实现吗?
  2. 我知道控制器应该从请求中获取用户的信息并将其传递给模型.这通常是怎么发生的?控制器应该创建一个User对象,然后将其传递给模型吗?我确定不想只是将一组值传递到模型中 - 我也不想将15个参数传递给创建用户的模型方法.
  3. 为了使这个模式真正起作用,我觉得我需要有一个域对象,它只是一个没有行为的简单数据结构,然后如果我使用ORM,我会有一个ORM对象,它将描述对象是如何持久化的.最初我拒绝这一点,因为它感觉像是重复的代码,但如果我真的将持久性与业务逻辑分开,那么这需要吗?例如,如果我使用内存存储怎么办?我不再使用ORM对象了.

我在这里想得对吗?这是可以接受的.请帮助我连接我的脑袋.

php model-view-controller design-patterns repository-pattern

9
推荐指数
2
解决办法
4361
查看次数

用PHP实现DSL

我有个主意.我想通过编写一些简单的代码,让我们的客户能够根据一些变量指定定价:

if customer.zip is "37208"
   return 39.99
else
   return 59.99
Run Code Online (Sandbox Code Playgroud)

在我的代码中,我会做这样的事情:

try {
   $variables = array('customer' => array('zip' => '63901'));
   $code = DSL::parse(DSL::tokenize($userCode))
   $returnValue = DSL::run($code, $variables);
} catch (SyntaxErrorException $e) {
   ...
}
Run Code Online (Sandbox Code Playgroud)

我想我想要的是在PHP中创建一个简单的DSL,它允许我们的客户在设置定价时具有很大的灵活性,而无需让我们为每个案例编写代码.

这是基本的想法:

  1. 我会提供一系列变量和客户编写的代码.
  2. 解析器将使用提供的变量评估用户编写的代码,并将客户返回的值返回给我.它会抛出任何语法错误等异常.
  3. 然后我将在应用程序的正常逻辑中使用返回的值.

那么你知道在PHP中构建一个简单的DSL的任何资源或框架吗?任何想法从哪里开始?

谢谢!

php dsl

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

使用多个JOINS.SUM()产生错误的值

我在SQL查询中获取一些基本发票信息,并在同一查询中计算订单总额和付款总额.这是我到目前为止:

SELECT
    orders.billerID, 
    orders.invoiceDate, 
    orders.txnID, 
    orders.bName, 
    orders.bStreet1, 
    orders.bStreet2, 
    orders.bCity, 
    orders.bState, 
    orders.bZip, 
    orders.bCountry, 
    orders.sName, 
    orders.sStreet1, 
    orders.sStreet2, 
    orders.sCity, 
    orders.sState, 
    orders.sZip, 
    orders.sCountry, 
    orders.paymentType, 
    orders.invoiceNotes, 
    orders.pFee, 
    orders.shipping, 
    orders.tax, 
    orders.reasonCode, 
    orders.txnType, 
    orders.customerID, 
    customers.firstName AS firstName, 
    customers.lastName AS lastName, 
    customers.businessName AS businessName, 
    orderStatus.statusName AS orderStatus, 
    SUM((orderItems.itemPrice * orderItems.itemQuantity))
      + orders.shipping + orders.tax AS orderTotal, 
    SUM(payments.amount) AS totalPayments                       <-- this sum
FROM
    orders 
    LEFT JOIN customers ON orders.customerID = customers.id 
    LEFT JOIN orderStatus ON orders.orderStatus = orderStatus.id
    LEFT JOIN payments ON payments.orderID = orders.id          <-- this join …
Run Code Online (Sandbox Code Playgroud)

sql join sum

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

为什么这个带有子查询的SQL查询非常慢?

我有这个问题:

select *
from transaction_batch
where id IN
(
    select MAX(id) as id
    from transaction_batch
    where status_id IN (1,2)
    group by status_id
);
Run Code Online (Sandbox Code Playgroud)

内部查询运行得非常快(少于0.1秒)以获得两个ID,一个用于状态1,一个用于状态2,然后它基于主键进行选择以便对其进行索引.解释查询说,它只搜索135k行,而且我不能为我的生活弄清楚为什么这么慢.

mysql sql

5
推荐指数
2
解决办法
7835
查看次数

Cocoapods - 代码对象根本没有签名

我正在尝试构建一个导入 Dropbox 框架的 OS X 目标,但出现此错误:

CodeSign /Users/jessebunch/Library/Developer/Xcode/DerivedData/TestApp-bxjgcsgqofvdyidodqalwworvmat/Build/Products/Debug/TestApp.app
    cd /Users/jessebunch/Projects/testapp/Example
    export CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate

Signing Identity:     "-"

    /usr/bin/codesign --force --sign 80B12837F588266A4A1FB1EF7D9C7F58E3A91E67 /Users/jessebunch/Library/Developer/Xcode/DerivedData/TestApp-bxjgcsgqofvdyidodqalwworvmat/Build/Products/Debug/TestApp.app

/Users/jessebunch/Library/Developer/Xcode/DerivedData/TestApp-bxjgcsgqofvdyidodqalwworvmat/Build/Products/Debug/TestApp.app: code object is not signed at all
In subcomponent: /Users/jessebunch/Library/Developer/Xcode/DerivedData/TestApp-bxjgcsgqofvdyidodqalwworvmat/Build/Products/Debug/TestApp.app/Contents/Frameworks/Dropbox.framework
Command /usr/bin/codesign failed with exit code 1
Run Code Online (Sandbox Code Playgroud)

这是我为此创建的 podspec:

{
  "name": "Dropbox-OSX",
  "version": "3.1.1",
  "summary": "The Dropbox Sync & Datastore API SDK for OSX.",
  "homepage": "https://www.dropbox.com/developers/sync",
  "license": {
    "type": "Copyright",
    "file": "dropbox-osx-sync-sdk-3.1.1/LICENSE.txt"
  },
  "authors": "Dropbox",
  "source": {
    "http": "https://www.dropbox.com/developers/downloads/sdks/datastore/osx/dropbox-osx-sync-sdk-3.1.1.zip"
  },
  "platforms": {
    "osx": null
  },
  "public_header_files": "dropbox-osx-sync-sdk-3.1.1/Dropbox.framework/Headers/*.h",
  "preserve_paths": "dropbox-osx-sync-sdk-3.1.1/Dropbox.framework", …
Run Code Online (Sandbox Code Playgroud)

objective-c dropbox-api cocoapods xcode6 osx-yosemite

5
推荐指数
0
解决办法
1122
查看次数

帮助理解gluLookAt()

想象一下,你站在地上仰望着天空中的立方体.当你倾斜头部时,立方体会移动.我试图在iPhone上使用OpenGL ES通过操纵相机的倾斜来复制它,同时查看围绕原点绘制的简单3D立方体.我正在使用gluLookAt()Cocos2d中的函数,它应该模拟OpenGL版本,似乎当我尝试修改任何值时,我的立方体消失了.

我的问题是:你能在gluLookAt()这里提供一个让我开始操作相机的用法,这样我就可以弄清楚它是如何工作的吗?我真的很有兴趣学习如何沿Y轴倾斜相机.

这是我目前的代码:

视口配置

glBindFramebufferOES(GL_FRAMEBUFFER_OES, _viewFramebuffer);
glViewport(0, 0, _backingWidth, _backingHeight);
Run Code Online (Sandbox Code Playgroud)

投影矩阵

glMatrixMode(GL_PROJECTION);
glLoadIdentity();

// Maybe this should be a perspective projection?? If so,
// can you provide an example using gluPerspective()?
glOrthof(-_backingWidth, _backingWidth,-_backingHeight, _backingHeight, -1, 1);
Run Code Online (Sandbox Code Playgroud)

ModelView矩阵

glMatrixMode(GL_MODELVIEW);
glLoadIdentity();

gluLookAt() // What goes here?
Run Code Online (Sandbox Code Playgroud)

绘图代码

static const GLfloat cubeVertices[] = {
    -1.0, -1.0,  1.0,
    1.0, -1.0,  1.0,
    -1.0,  1.0,  1.0,
    1.0,  1.0,  1.0,
    -1.0, -1.0, -1.0,
    1.0, -1.0, -1.0,
    -1.0,  1.0, -1.0,
    1.0,  1.0, …
Run Code Online (Sandbox Code Playgroud)

opengl-es

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

CoreData导入和升级策略

有许多事情需要关注CoreData,但我觉得数据导入不是其中之一.我对您用于导入/升级策略的内容有一些疑问,我很乐意听取您的意见.

关于如何提供初始数据库内容,有一些思想流派.有些人会在第一次运行时从文件中导入数据,而其他人则会提供在首次运行时复制和使用的数据存储 - 这是我个人所做的.如果还有其他选择,我很乐意听到.

我对这些方法的问题是在推送升级时该怎么做.当您将数据添加/更改/删除到您希望现有用户看到的初始数据集时,您会怎么做?

是否存储使用中的数据模型的版本NSUserDefaults,然后在首次运行新版本时执行一些迁移代码以插入/更新默认数据?我在这里严格谈论数据,而不是架构.所有这一切看起来都很糟糕,因为我可以看到低收视率的浪潮,因为你在编写升级代码时没有想到什么.存储默认应用程序数据(用户没有真正修改)甚至是一件好事CoreData吗?

所以我想我的问题是,您首选的导入策略是什么?在发布未来版本时,您通常如何升级数据?

xcode core-data ios

4
推荐指数
2
解决办法
1136
查看次数