我写了一个Joomla插件,最终会加载一个库.
库的路径是一个插件参数,因此当路径不正确时,后端会弹出一条消息,以及编辑插件参数的链接:
/administrator/index.php?option=com_plugins&view=plugin&client=site&task=edit&cid[]=36
看到最后的36?这是我的插件在数据库中的id(表jos_plugins).
我的问题是这个id在安装时会发生变化,也就是说,在不同的安装上,这将是另一回事.所以我需要以编程方式找到这个id.
问题是我无法从插件对象本身找到这个id(至于为什么不能,这将是joomla可以说是短视的设计决策).
因此,除非你知道一些巧妙的技巧,(我已经检查并仔细检查了JPlugin和JPluginHelper类),否则我将使用数据库.
编辑; 一些有用的链接:
猜猜我会用最后一个链接的智慧......
我目前正在开发一种系统,其功能是客户可以通过提供PIN"号码"查看其购买/续订/等的详细信息.
由于我们定位的客户类型,正在使用PIN而不是登录信息.PIN将打印在发送给他们的文档上.
提供PIN时显示的视图不会显示高度敏感的信息,如信用卡等,但不太敏感,如产品名称,类型,价格,条形码,维修等.
有问题的是PIN.我选择使用随机5个字符的PIN码(0-9,az AZ) - 区分大小写.我将删除一些同形字符('我','1','l','0','O','rn','vv'),所以组合的实际数量实际上更低.
我有几个问题:
所有,
我试图通过PHP的cURL包装器方法HTTPS POST一个SOAP请求,但不断收到以下cURL错误:错误1:不支持的协议:https,任何想法为什么会发生这种情况?目标网址很好,我可以通过命令行访问它.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$this->apiURL);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-type: text/xml;charset=UTF-8',
'Content-length: '.strlen($SOAPRequest),
'SOAPAction: ""'
) );
curl_setopt($ch, CURLOPT_POSTFIELDS, $SOAPRequest);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
$result = curl_exec($ch);
Run Code Online (Sandbox Code Playgroud) 基本上,我正在编写一个框架,作为其功能的一部分,它应该为最终开发人员提供一组完善的URI /路径.
这些路径中的两个使用$_SERVER['DOCUMENT_ROOT']:
/**
* Absolute filesystem path to web root install (aka docroot).
* @example "C:/wamp/www" OR "/home/visitgoz/public_html/"
*/
CFG::set('ABS_WWW',
str_replace(
$tmpseps,
DIRECTORY_SEPARATOR,
truepath($_SERVER['DOCUMENT_ROOT']).'/'
)
);
/**
* K2F path relative to web root.
* @example /K2F/
*/
CFG::set('REL_K2F',
str_replace(
array('//','\\'),
'/',
str_replace(CFG::get('ABS_WWW'),'/',CFG::get('ABS_K2F'))
)
);
Run Code Online (Sandbox Code Playgroud)
该代码已经过微调,可以在Linux和Windows上运行.显然,它大部分时间都在Linux上运行,实际上在VPS上非常无缝.
但是,最近,我在HG转销商帐户(共享托管)上试了一下,这一切都破了.我在有问题的机器上打印出$ _SERVER中的数据:
Array
(
** [DOCUMENT_ROOT] => /usr/local/apache/htdocs
[GATEWAY_INTERFACE] => CGI/1.1
[HTTP_ACCEPT] => text/html,application/xhtml+xml,application/xml;q=0.9;q=0.8
[HTTP_ACCEPT_CHARSET] => ISO-8859-1,utf-8;q=0.7,*;q=0.7
[HTTP_ACCEPT_ENCODING] => gzip,deflate
[HTTP_ACCEPT_LANGUAGE] => en-gb,en;q=0.5
[HTTP_CONNECTION] => keep-alive
[HTTP_COOKIE] …Run Code Online (Sandbox Code Playgroud) 我正在尝试实现以下功能:
<div id="editor" contenteditable="true">
I am some text.
</div>
$('#editor').replaceHtmlAt(start, end, string);
Run Code Online (Sandbox Code Playgroud)
使用案例:
用户输入@内部#editor
keyup事件挑选了这个@位置
$('#editor').replaceHtmlAt(position of @, position of @ + 1, "<div>Hello</div>");Run Code Online (Sandbox Code Playgroud)这可能吗?
编辑
通过这样做,我得到了它的工作
$(this).slice(pos-1).html('<span id="mention'+pos+'">@</span>');
Run Code Online (Sandbox Code Playgroud)
但是我遇到了另一个问题.在Chrome中,#editor内的插入符号位置一直向后移动...如何在span标记内的'@'后恢复插入符号的位置?
虽然这个问题一般是关于DocBlocks的,但我的用例是关于 PHP。
考虑以下 PHP 代码:
<?php
class ParentClass {
/**
* Says 'hi' to the world.
* @return ParentClass Returns itself for chaining.
*/
public function say_hi(){
echo 'hi';
return $this;
}
}
class ChildClass extends ParentClass {
/**
* Says 'bye' to the world.
* @return ChildClass Returns itself for chaining.
*/
public function say_bye(){
echo 'bye';
return $this;
}
}
$c = new ChildClass;
$c->say_hi()->say_b| <- type hinting won't suggest "say_bye" here
?>
Run Code Online (Sandbox Code Playgroud)
这只是一个带有一些链接的琐碎类。扩展类没有类型提示,因为父类的文档块正在使用特定的类名,该类名没有子类的方法/属性。
假设我们确实想要类型提示功能,(如果没有,请留下这个问题 - …
好吧,我们都知道无头服务器.实际上,可能绝大多数服务器都是无头的.
像往常一样(看起来),我的情况要求其他东西.基本上,建议的架构看起来或多或少像:

应用服务器(node.js)位于物理连接到两个屏幕的物理机器上.
在这台机器和网络之间有各种各样的常规网络层.请记住,这种设置的主要原因之一是物理可移植性:即客户端获得必要的硬件作为产品.服务器本身依赖于CDN来获取静态文件等.
每个监视器/屏幕需要显示由同一节点服务器生成的不同内容.
现在这个服务器可能会运行在Windows上,但是给出了一个概念(这是我的问题之后),我可以更改代码以在目标平台上运行.好吧,根据我的代码,这甚至可以自动完成.
所以,我的实际问题.Node非常灵活,它可以运行任何东西 - 甚至是定制软件(C++,Delphi,甚至是GM).只是shell_exec('node server.js'),我们走了.
但屏幕本身需要非常动态.因此节点需要以某种方式影响两个屏幕.我正在考虑的几个选项:
PS:以防万一你问; 与网络相对的物理连接(例如,基于网络的GUI前端)是设计的.
我正在尝试构建一个silex应用程序.我的文件结构是:
ROOT/
/App/
/Controller/{IndexController.php}
/Config/{dev.php,prod.php,route.php}
/vendor
/web/{index.php, index_dev.php}
当我试图看到http://localhost/web/我收到错误时:
PHP致命错误:在第2行的../App/config/route.php中找不到类'App\Controller\IndexController'
以下是相关文件:
index_dev.php
<?php
require_once __DIR__.'/../vendor/autoload.php';
require __DIR__.'/../App/config/dev.php';
$app = require __DIR__.'/../App/app.php';
$app->run();
?>
Run Code Online (Sandbox Code Playgroud)
app.php
<?php
use Silex\Application;
use Silex\Provider\TwigServiceProvider;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
$app = new Application();
require __DIR__.'/config/route.php';
return $app;
?>
Run Code Online (Sandbox Code Playgroud)
route.php
<?php
$app->mount('/', new App\Controller\IndexController());
?>
Run Code Online (Sandbox Code Playgroud)
IndexController.php
<?php
namespace App\Controller;
use Silex\Application;
use Silex\ControllerProviderInterface;
use Silex\ControllerCollection;
class IndexController implements ControllerProviderInterface {
public function index(Application $app) {
return phpinfo();
}
public function connect(Application $app) {
$controllers = …Run Code Online (Sandbox Code Playgroud) 解决方案: 使用CultureInfo.CurrentUICulture
用户可以在以下位置更改Windows Phone的系统语言:设置>语言+区域>手机语言
如何从C#代码中获取所选语言(手机语言)?
以下是我的手机设置:

这是我的代码片段:
System.Diagnostics.Debug.WriteLine(
"************************************* CultureInfo.CurrentCulture.Name = " + CultureInfo.CurrentCulture.ToString() + ", " +
"CultureInfo.CurrentCulture.CompareInfo = " + CultureInfo.CurrentCulture.CompareInfo + ", " +
"CultureInfo.CurrentCulture.DisplayName = " + CultureInfo.CurrentCulture.DisplayName + ", " +
"CultureInfo.CurrentCulture.EnglishName = " + CultureInfo.CurrentCulture.EnglishName + ", " +
"CultureInfo.CurrentCulture.Name = " + CultureInfo.CurrentCulture.Name + ", " +
"CultureInfo.CurrentCulture.NativeName = " + CultureInfo.CurrentCulture.NativeName + ", " +
"CultureInfo.CurrentCulture.TextInfo = " + CultureInfo.CurrentCulture.TextInfo
);
Run Code Online (Sandbox Code Playgroud)
这是输出:
CultureInfo.CurrentCulture.Name = zh-HK,
CultureInfo.CurrentCulture.CompareInfo = CompareInfo - zh-HK,
CultureInfo.CurrentCulture.DisplayName = …Run Code Online (Sandbox Code Playgroud)