我想在本地实现一个简单的AJAX函数,它允许我在用户输入时自动完成已存在节点的节点标题.为此,我需要能够拥有可以在节点标题上搜索的API.问题是当我输出原始JSON时,它被标签包围.所以,无论我做什么,我都会......
<html>
<head>
</head>
<body>
<pre style="word-wrap: break-word; white-space: pre-wrap;"> {json here}</pre>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我已经尝试实现一个只能输出内容的自定义页面模板,它会产生相同的结果.以下是我目前在模块文件中执行此操作的方法...
<?php
/**
* Implementation of hook_menu()
*/
function content_relation_menu() {
$items = array();
$items['api'] = array(
'title' => 'Search',
'page callback' => 'content_relation_get',
'access callback' => TRUE,
'type' => MENU_CALLBACK,
);
return $items;
}
function content_relation_get($term = '') {
drupal_add_http_header('Content-Type', 'application/javascript; utf-8');
$var = json_encode(
db_query("SELECT nid,title FROM {node} WHERE title LIKE :title LIMIT 5", array(":title" => $term.'%'))->fetchAll()
);
echo $var;
exit(0);
}
Run Code Online (Sandbox Code Playgroud)
如何返回JUST原始JSON?
我想创建一个注释或特征,在编译时动态地根据现有字段向对象添加方法.虽然我对类级别的东西很感兴趣,但我也会使用字段级注释(或其他更细粒度的东西).
一个较旧的堆栈溢出问题询问了Scala的实现细节,@BeanProperty回答说:"它是一个编译器插件,但宏也可能允许你这样做".鉴于Scala 2.10中的官方(如果是实验性的)宏版本,现在这种功能是否可行?
前提:编写程序以向用户查询两个输入字符串.每个输入字符串应该是一个unix命令,允许使用参数.例如,输入1可以是ls -l,输入2可以是more.然后程序将创建一个管道和两个子进程.第一个子进程将运行第一个输入中指定的命令.它将输出到管道而不是标准输出.第二个子进程将运行第二个输入中指定的命令.它将从管道输入而不是标准输入.父进程将等待其两个子进程完成,然后整个过程将重复.当输入'@'符号作为第一个命令时,执行将停止.这是我的代码:
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int main(){
/* Program Termination Symbol */
const char terminate = '@';
/* String delimiter */
const char delimiter = ' ';
/* Pipe file ID's */
int fileID[2];
/* Parent ID's */
int pid1, pid2;
/* String token */
char * token, * token2;
/* User input */
char * user_input, line[100];
user_input = (char *) malloc(100);
/* Unix Commands */
char * command1[10], *command2[10]; …Run Code Online (Sandbox Code Playgroud) 在UML活动图中,模拟捕获异常的想法的能力非常简单 - 但是如何处理异常呢?我似乎能找到的最接近的事情就是投掷活动发送一个具有刻板印象的信号<<exception>>然后击中一个流程最终节点,但我不知道这被认为是最佳实践.有什么想法吗?
谢谢.
我正在尝试在服务器上动态创建PDF文档,并使用Zend_Pdf库将它们发送到客户端.PDF上的所有文本都需要与页面居中对齐,页面将是字母大小的横向.使用我在不同网站上多次发现的功能,我遇到了问题 - 中心理由是关闭的.所有文字都显得太偏左了.这是我的代码:
<?
require('Zend/Pdf.php');
$font = Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_HELVETICA);
$pdf = new Zend_Pdf();
// Create a new page, add to page listing
$pdfPage = $pdf->newPage(Zend_Pdf_Page::SIZE_LETTER_LANDSCAPE);
$pdf->pages[] = $pdfPage;
// Add certify that
$pdfPage->setFont($font, 15.75);
drawCenteredText($pdfPage, "THIS IS TO CERTIFY THAT", 378);
// Add name
$pdfPage->setFont($font, 39.75);
drawCenteredText($pdfPage, "Example Name", 314.25);
// Headers
header("Content-type: application/pdf");
header("Content-Disposition: inline; filename=\"cert.pdf\"");
header('Content-Transfer-Encoding: binary');
header('Accept-Ranges: bytes');
// Output PDF
echo $pdf->render();
function drawCenteredText($page, $text, $bottom) {
$text_width = getTextWidth($text, $page->getFont(), $page->getFontSize());
$box_width = $page->getWidth();
$left = …Run Code Online (Sandbox Code Playgroud) 我正在修改一个用C#编写的应用程序,该应用程序大量使用多线程来播放音频文件并向用户显示图像.鉴于它是多线程的,我需要经常使用Invoke方法来更改表单元素.我遇到了一种我不太满意的模式,在那里我发现自己编写频繁的,小的委托方法,通常只做一件事.一个例子如下:
delegate void setImageCallback(Image img);
private void setImage(Image img)
{
this.pictureBox1.Image = img;
}
private void someOtherMethod()
{
...
if (this.pictureBox1.InvokeRequired)
{
this.Invoke(new setImageCallback(setImage), Image.FromFile("example.png");
}
else
{
this.pictureBox1.Image = Image.FromFile("example.png");
}
...
}
Run Code Online (Sandbox Code Playgroud)
人们通常如何处理这些情况,以便您不会发现自己编写一些荒谬的代表和方法只是为了保持线程安全?显然,类似方法的合并很好,但如果我可能需要更新表单上的每个表单元素,我不希望为每个表单元素和方法都有一个"修改"委托和方法.
谢谢.
我想在PHP中获取特定命名空间中所有类的名称.目前,我试图通过对特定命名类列表的反射来做一些魔术,但我想在不知道名字的情况下这样做.
我试过打电话get_declared_classes(),但无论出于什么原因,我所提供的课程都没有出现.我可以打电话get_declared_classes(),不在Event列表中看到,然后马上打电话$x = new Event()没问题.像下面的东西,我认为应该导致问题...
if (! in_array('Event', get_declared_classes())) { $x = new Event(); }
Run Code Online (Sandbox Code Playgroud)
...工作良好.我想知道命名空间这些类并检索这种方式是否有助于缓解问题.这可能吗?
编辑:为了澄清,让我补充一点,我目前没有使用命名空间,我并没有特别尝试从上面列出的代码中获得一些东西.我想要的是获取我声明的所有类的名称.尽管在我打电话之前所有人的类声明都被击中get_declared_classes(),但它们并没有全部出现在列表中.我希望命名空间可以帮助解决问题.
编辑2:有几个人指出这些类可能是自动加载的.我通过执行以下操作来测试它.echo(class_exists('Event'))返回值1.echo(class_exists('Event', FALSE))返回值0. class_exists的第二个可选参数是是否自动加载.所以,显然这个课程正在自动加载.这回答了这一点.
那么,下一个问题 - 我该如何防止这种情况发生?我使用的框架实际上并没有给我很多低级别的控制权.有没有办法强制自动加载,然后调用get_declared_classes,或者get_declared_classes首先激活自动加载?
我有一个名为的抽象类Node.它包含一个构造函数,它从我的数据库中获取一行,并实例化基本信息.在我的网站内容全部件扩展此类- ,Person,Event,Project等.
其中3个扩展类是特殊的 - 构建它们时,除了从数据库中提取值之外,还需要查询Web服务; 如果Web服务提供的值与DB中给出的值不同,则需要保存到DB.
在具有多重继承能力的语言中,这将非常简单; 这些类中的任何一个将扩大双方Node,和APIData,或类似的东西.没有MI,我不知道如何处理这个问题.使用接口没有帮助,因为它没有提供具体的实现.
装饰模式有时被推荐为MI的某些特征的替代,但我没有足够的经验来确定这是否是合适的选择.有什么建议?
我有一个名为的主干模型Member- 它包含会员数据,如名字,姓氏,电子邮件,电话等.它还包括我需要保存为集合的多值字段 - 这些是Degrees和Affiliations.
我fetch()在模型中调用方法时遇到的问题是基本数组和模型中的集合对象之间存在阻塞不匹配的问题.因为parse根据定义,应该返回一个要用于set而不是实际设置值的哈希值,所以我不可能以这种方式设置我的集合.例如 - 如果我返回一个Degrees类似于以下内容的JavaScript对象:{degrees: [{id: 1, title: "PhD"}]}那么这会将我的degree集合转换为平面数组.这是我的代码:
window.Models.Member = Backbone.Model.extend({
url: '/api/member',
initialize: function() {
_.bindAll(this);
this.set('degrees', new window.Collections.DegreesList());
this.fetch();
},
parse: function(response) {
var setHash = {};
setHash.first_name = response.first_name;
setHash.last_name = response.last_name;
setHash.office_phone = response.office_phone;
// When this is run, this.get('degrees') will now return a flat array rather than a DegreesList collection
setHash.degrees = _(response.degrees).each(function(item) { …Run Code Online (Sandbox Code Playgroud) 我正在查看由不熟悉SQL的开发人员维护的代码.我在他的代码中经常看到以下代码片段:
SELECT *
FROM person, status
WHERE person.status_id = status.id
Run Code Online (Sandbox Code Playgroud)
我已向他建议他使用以下代码:
SELECT *
FROM person
INNER JOIN status ON status.id = person.status_id
Run Code Online (Sandbox Code Playgroud)
他指出,在这种特殊情况下,两个查询在相同的时间范围内返回相同的结果(67毫秒中的34k行).我的新查询在这种情况下没有改变任何事实这一事实证明了这种方法没有任何问题.我曾尝试向他解释笛卡尔等产品,但他坚持认为这种方法没有任何问题.有人可以帮助提供负面的例子,说明依赖于此的方法会失败,和/或为什么从实施的角度来看这种查询行是危险的?
php ×3
oop ×2
ajax ×1
backbone.js ×1
c ×1
c# ×1
delegates ×1
drupal ×1
drupal-7 ×1
exception ×1
javascript ×1
join ×1
json ×1
macros ×1
mysql ×1
namespaces ×1
pdf ×1
pipe ×1
process ×1
reflection ×1
scala ×1
scala-macros ×1
sql ×1
uml ×1
winforms ×1