web书签式js注入方法

使用追加资源的方式载入js程序

javascript:(function(){var l = document.createElement('link');l.setAttribute('rel','stylesheet');l.setAttribute('media','all');l.setAttribute('href','http://demo.css');document.body.appendChild(l);var s = document.createElement('script');s.setAttribute('src','http://demo.js');document.body.appendChild(s);})();

不错的JS插件收藏,持续更新

Bootbox.js
自定义dialog、confirm、alert样式。
官网 : http://bootboxjs.com/

wangEditor
国产Web富文本编辑器, 轻量、简洁、易用、开源免费。
官网 :http://www.wangeditor.com/

CKEditor
出众的开源 Web 文本编辑器,功能齐全,兼容性好,定制丰富,性能出色,支持内嵌编辑。
官网 :http://ckeditor.com/

fengyuanchen/viewer
国产,一个简单的jQuery的图像浏览插件。
官网 :https://fengyuanchen.github.io/viewer/

MAC版PHPSTAORM配置XDEBUG调试工具

安装 XDEBUG
brew install homebrew/php/php56-xdebug

配置 XDEBUG.INI
vim /usr/local/etc/php/5.6/conf.d/ext-xdebug.ini
配置文件应如下写入
[xdebug]
zend_extension=”/usr/local/opt/php56-xdebug/xdebug.so”
;开启远程调试
xdebug.remote_enable = On
;代理
xdebug.remote_handler = “dbgp”
;DBGP PROXY SERVER所在主机ip
xdebug.remote_host = “localhost”
;DBGP PROXY SERVER监听端口
xdebug.remote_port = 9000
;此种模式下该项不在起作用,可以取消
;xdebug.idekey=PhpStorm

配置 phpStorm ( 版本 2016.01 PS-145.258 )

  1. 右上角绿色开关左边 Edit Configurations 按钮
  2. 添加一个 PHP web Application
    Name 自定义
    Configuration 中的 Server 点击右侧三个小点添加一个新服务器(只需要填写NameHost),然后选择新添加的服务器
    Browser 选择 Chrome
  3. 点击绿色小甲虫即可断点调试

官方Xdebug提供所有可用的配置设置

xdebug.auto_trace

类型:布尔,默认值:0

当此设置被设置为on,函数调用跟踪将要启用的脚本运行之前。这使得有可能跟踪代码中的auto_prepend_file


xdebug.cli_color

类型:整数,默认值:0,在推出的Xdebug> 2.2

如果此设置为1,Xdebug的将颜色var_dumps和堆栈在CLI模式下,当输出是一个TTY时跟踪输出。在Windows上, ANSICON工具需要安装。
如果设置为2,则Xdebug的将时时彩var_dumps和堆栈跟踪,不管是否是连接到一个tty或是否安装ANSICON。在这种情况下,你可能会最终看到转义码。
请参见本文的一些信息。


xdebug.collect_assignments

类型:布尔,默认值:0,在推出的Xdebug> 2.1

此设置,默认为0,控制Xdebug的是否应该添加变量赋值运作痕迹。


xdebug.collect_includes

类型:布尔,默认值:1

此设置,默认为1,控制Xdebug的是否应该写的include(),include_once()的,需要()中使用的文件名或require_once()来跟踪文件。


xdebug.collect_params

类型:整数,默认值:0

此设置,默认为0,控制Xdebug的是否应该搜集传递给函数的参数时,函数调用记录无论是在功能跟踪或堆栈跟踪。
该默认设置为0,因为对于非常大的脚本,它可能会使用大量内存,从而使其无法为庞大的脚本运行。你可以非常安全地关闭此设置,但你可以期望在脚本中的一些问题有很多的函数调用和/或大数据结构作为参数。Xdebug的2不会有这个问题,增加了内存使用情况,因为它永远不会在内存中存储这些信息。相反,它只会被写入磁盘。这意味着,你需要看看磁盘使用情况虽然。
此设置可以有四种不同的值。对于每个值示出了不同量的信息。下面你将看到的每个值提供什么样的信息。又见推出该功能的 堆栈跟踪了一些截图。

参数显示的信息
0 没有。
1 类型和元素的数目(FE串(6),阵列(8))。
2 类型和元素的数量,一个工具提示完整信息1
3 全变量内容(与推崇,成为由设置的限制xdebug.var_display_max_childrenxdebug.var_display_max_dataxdebug.var_display_max_depth
4 全变量内容和变量名。
PHP序列化变量内容,没有名字。(在新2.3的Xdebug)

1在PHP的CLI版本不会有刀尖,也不在输出文件。


xdebug.collect_return

类型:布尔,默认值:0

此设置,默认为0,控制Xdebug的是否应该写的函数调用来跟踪文件的返回值。
对于电脑跟踪文件(xdebug.trace_format = 1),这只是从Xdebug的2.3开始工作。


xdebug.collect_vars

类型:布尔,默认值:0

这个设置告诉Xdebug的收集关于哪些变量在一定范围内使用的信息。这种分析可以说是相当缓慢,因为Xdebug的需要逆向PHP的操作码阵列。此设置将不记录哪些值不同的变量有,对于使用xdebug.collect_params。此设置需要,如果你想使用只能启用xdebug_get_declared_vars()


xdebug.coverage_enable

类型:布尔,默认值:1,在推出的Xdebug> = 2.2

如果此设置被设置为0,则Xdebug的将不设置内部结构,以允许代码覆盖。这将加快Xdebug的不少,但当然,代码覆盖率分析是行不通的。


xdebug.default_enable

类型:布尔,默认值:1

如果此设置为1,那么踪迹将被默认的错误事件中。您可以从代码中禁用显示踪迹与 xdebug_disable() 。由于这是Xdebug的基本功能之一,最好是离开这个设置为1。


xdebug.dump *。

类型:字符串,默认值:

*可以是任意的cookie,文件,GET,POST,REQUEST,SERVER,SESSION。这七个设置控制它从超全局数据时发生错误情况所示。
其中每个php.ini的设置可以从这个超全局包含一个逗号分隔的变量列表的倾倒,或*为他们所有。确保你不要在此设置中添加空格。
为了转储REMOTE_ADDR和发生错误时的REQUEST_METHOD,并且所有GET参数,添加这些设置:

xdebug.dump.SERVER = REMOTE_ADDR,REQUEST_METHOD
xdebug.dump.GET = *


xdebug.dump_globals

类型:布尔,默认值:1

控制是否超全局变量的值由定义的xdebug.dump。*的设置应该显示与否。


xdebug.dump_once

类型:布尔,默认值:1

控制是否超全局变量的值应该在所有错误的情况下被倾倒(设置为0),或仅在首台(套为1)。


xdebug.dump_undefined

类型:布尔,默认值:0

如果你想从倾倒的超全局变量,你应该将此设置为1未定义的值,否则将其设置为0。


xdebug.extended_info

类型:整数,默认值:1

控制的Xdebug是否应该强制执行PHP解析器“extended_info”模式; 这允许Xdebug的做文件/行断点与远程调试器。当跟踪或分析脚本,你一般要关闭此选项,因为PHP的产生oparrays将与大小减慢你的脚本的三分之一提高。此设置不能与的ini_set(),但只在php.ini脚本进行设置。


xdebug.file_link_format

类型:字符串,默认值:介绍在Xdebug的> 2.1

此设置确定在其中使用的文件名堆栈跟踪的显示屏所做的链接的格式。这使得IDE来建立链路的协议,使得它可以通过单击上的Xdebug显示在堆栈跟踪文件名直接进入线路和文件。一个例子格式可能是这样的:

myide://%F @%L

可能的格式说明如下:

说明 含义
%F 文件名
%L 行号

对于各种的IDE /奥赛斯有关于如何使这项工作列出了一些说明:

火狐在Linux上

  • 打开about:config中
  • 添加一个新的布尔设置“network.protocol-handler.expose.xdebug”并将其设置为“假”
  • 添加以下到一个shell脚本~/bin/ff-xdebug.sh
    #!/ bin / sh的
    F ='回声$ 1 | 切-d @ -f 1 | SED的/ Xdebug的:\ / \ ///'`
    L ='回声$ 1 | 切-d @ -f 2`
    

    加入(取决于你是否有科莫多,gvim的或NetBeans的)中的一个:

    • komodo $f -l $l
    • gvim --remote-tab +$l $f
    • netbeans "$f:$l"
  • 请与可执行脚本 chmod +x ~/bin/ff-xdebug.sh
  • 设置xdebug.file_link_format设置xdebug://%f@%l

窗户和NetBeans

  • 创建文件netbeans.bat并将其保存在您的路径(C:\Windows将工作):
    关闭@echo
    SETLOCAL ENABLEEXTENSIONS enabledelayedexpansion
    设置NETBEANS =%1
    设置文件=%〜2
    %NETBEANS%--nosplash --console抑制--open“%FILE:〜19%。”
    赢的NirCmd过程激活netbeans.exe
    

    注意:删除的最后一行,如果你没有nircmd

  • 将下面的代码netbeans_protocol.reg
    Windows注册表编辑器5.00版
    [HKEY_CLASSES_ROOT \的NetBeans]
    “URL协议”=“”
    @ =“URL:Netbeans的协议”
    [HKEY_CLASSES_ROOT \ netbeans的\的DefaultIcon]
    @ =“\”C:\\ Program Files文件\\的NetBeans 7.1.1 \\ \\斌netbeans.exe,1 \“”
    [HKEY_CLASSES_ROOT \ netbeans的\壳]
    [HKEY_CLASSES_ROOT \ netbeans的\壳\开放]
    [HKEY_CLASSES_ROOT \ netbeans的\壳\开放\命令]
    @ =“\”C:\\ \\的Windows netbeans.bat \“\”C:\\ Program Files文件\\的NetBeans 7.1.1 \\ \\斌netbeans.exe \“\”%1 \“”
    

    注意:确保路径更改为Netbeans的(两次),以及该netbeans.bat批处理文件,如果你比它保存在其他地方C:\Windows\

  • 在双击netbeans_protocol.reg文件将其导入到注册表中。
  • 设置xdebug.file_link_format设置xdebug.file_link_format = "netbeans://open/?f=%f:%l"


xdebug.force_display_errors

类型:INT,默认值:0,在推出的Xdebug 2.3

如果设置为1则错误会 始终显示,无论什么PHP的的设置的display_errors 是。


xdebug.force_error_reporting

类型:INT,默认值:0,在推出的Xdebug 2.3

此设置是位掩码,喜欢的error_reporting。这个位掩码将与所代表的位掩码进行逻辑或运算使用error_reporting 到dermine应该显示错误。此设置只能在php.ini中进行,并允许您从正在显示无论应用程序做什么迫使某些错误的ini_set()


xdebug.halt_level

类型:INT,默认值:0,在推出的Xdebug 2.3

此设置允许您配置确定是否口罩,和,声明和/或警告地转化为错误。你可以配置你自己生成通知和由PHP产生警告和通知和警告(由trigger_error的方式())。例如,要的strlen()(不带参数),以错误的警告转换,你会怎么做:

的ini_set('xdebug.halt_level',E_WARNING);
strlen的();
回声“你好\ N!”

然后这将导致错误消息的表现,和脚本的流产。echo "Hi!\n";将不被执行。
该设置是一个位掩码,因此所有的通知和警告转换成错误的所有应用程序,你可以在php.ini中设置此:

xdebug.halt_level = E_WARNING | E_NOTICE | E_USER_WARNING | E_USER_NOTICE

位掩码只支持上面提到的四个级别。


xdebug.idekey

类型:字符串,默认值:* *复

控制哪个IDE键Xdebug的应该传授给DBGp调试器处理程序。默认值是基于环境设置。首先,环境设置DBGP_IDEKEY提供谘询,然后用户和最近使用的用户。默认设置为找到的第一个环境变量。如果没有能找到的设置是默认”。如果此设置被设定,它总是覆盖环境变量。


xdebug.manual_url

类型:字符串,默认值:http://www.php.net,在推出Xdebug的<2.2.1

这是从功能跟踪和错误消息从消息函数的手册页的链接的基本URL。明智的做法是设置此设置以使用最近的镜像。


xdebug.max_nesting_level

类型:整数,默认值:256

控件无限递归保护的保护机制。此设置的值是被允许的脚本将被中止之前的嵌套函数的最高水平。
Xdebug的2.3之前,默认值是100


xdebug.overload_var_dump

类型:布尔,默认值:2,在推出的Xdebug> 2.1

默认Xdebug的重载的var_dump()与其自己的改进版本,用于当html_errors php.ini中设置被设置为显示变量 12。如果你不希望出现这种情况,你可以设置此设置0,但首先要检查,如果它不是聪明关闭html_errors。
您也可以使用2作为该设定值。除了 很好格式化的var_dump()输出,它也将添加文件名 和行号的输出。该xdebug.file_link_format设置也尊重。(在新2.3的Xdebug)
Xdebug的2.4之前,此设置的默认值 1


xdebug.profiler_append

类型:整数,默认值:0

当此设置为1,探查文件不会被覆盖,当一个新的请求会映射到同一个文件(depnding在xdebug.profiler_output_name设置。相反,文件将被追加到新的配置文件。


xdebug.profiler_enable

类型:整数,默认值:0

启用Xdebug的的探查这在创建文件的 配置文件输出目录。这些文件可以通过KCacheGrind调试读取可视化数据。此设置不能在脚本中设定的ini_set()。如果要选择性地启用剖析,请设置xdebug.profiler_enable_trigger为1 ,而不是使用此设置。


xdebug.profiler_enable_trigger

类型:整数,默认值:0

当此设置为1,您可以通过使用XDEBUG_PROFILE GET / POST参数触发的事件探查器文件的生成,或者设置名为XDEBUG_PROFILE的cookie。那么这将写入分析器数据 定义的目录。为了防止探查器生成每个请求配置文件的文件,你需要设置xdebug.profiler_enable 0访问触发器本身可通过配置xdebug.profiler_enable_trigger_value


xdebug.profiler_enable_trigger_value

类型:字符串,默认值:“” ,在推出的Xdebug> 2.3

此设置可用于限制谁可以使用的XDEBUG_PROFILE功能中列出xdebug.profiler_enable_trigger。当从空字符串的默认值改变,cookie的值,GET或POST参数需要的共享密钥,可使用此设置匹配为了探查启动。


xdebug.profiler_output_dir

类型:字符串,默认值:/ tmp目录

当分析器输出将被写入到该目录下,确保谁是PHP将运行在用户具有写权限到该目录。此设置不能在脚本中设定的ini_set()。


xdebug.profiler_output_name

类型:字符串,默认值:。cachegrind.out%P

此设置确定用于倾倒痕迹到文件的名称。该设置指定与格式说明,非常相似的sprintf()和strftime格式()。有可用于格式化的文件名几个格式说明。
请参阅xdebug.trace_output_name文档支持的说明符。


xdebug.remote_autostart

类型:布尔,默认值:0

通常情况下,你需要使用特定的HTTP GET / POST变量来启动远程调试(见远程调试)。当此设置为1,Xdebug的总是试 图启动远程调试会话,并尝试连接到客户端,即使GET / POST / COOKIE变量是不存在。


xdebug.remote_connect_back

类型:布尔,默认值:0,在推出的Xdebug> 2.1

如果启用,xdebug.remote_host设置被忽略和Xdebug将尝试连接到发出HTTP请求的客户端。它检查$ _ SERVER [‘REMOTE_ADDR’]变量来找出使用的IP地址。请注意,有没有过滤器可用,然后任何人谁可以连接到Web服务器就可以启动调试会话,即使他们的地址不匹配xdebug.remote_host


xdebug.remote_cookie_expire_time

类型:整数,默认值:3600,在推出的Xdebug> 2.1

这个设置可以用来增加(或减少)的时间,即远程调试会话通过会话Cookie保持活着。


xdebug.remote_enable

类型:布尔,默认值:0

此开关控制是否Xdebug的应尝试联系该主机和端口上侦听的设置与设置调试客户端 xdebug.remote_hostxdebug.remote_port。如果连接不能建立脚本将只是继续,如果此设置为0。


xdebug.remote_handler

类型:字符串,默认值:dbgp

可以是“PHP3,表示选择了老PHP 3作风调试 输出,”广发行“,这使得GDB调试器一样的接口或”dbgp“ -在 调试器协议。该DBGp协议是唯一支持的协议。
:Xdebug的2.1及更高版本只支持’dbgp“作为协议。


xdebug.remote_host

类型:字符串,默认值:本地主机

选择其中的调试客户端运行的主机,您可以使用主机名或IP地址。如果忽略此设置 xdebug.remote_connect_back已启用。


xdebug.remote_log

类型:字符串,默认值:

如果设置为一个值时,它被用作文件名,这是所有远程调试通信记录的文件。该文件总是以附加模式打开,因此将不会被默认覆盖。没有可用的并发性保护。该文件的格式如下所示:

登录开盘于2007-05-27 14点28分15秒
- > <初始化的xmlns =“金塔:debugger_protocol_v1”的xmlns:Xdebug的=“http://xdebug.org/dbgp/x ...飞行> </ INIT>
< -  step_into -i 1
- > <响应的xmlns =“金塔:debugger_protocol_v1”的xmlns:Xdebug的=“http://xdebug.org/db ...> </响应>


xdebug.remote_mode

类型:字符串,默认值:REQ

启动一个调试连接时选择。这个设置可以有两个不同的值:

REQ
Xdebug的将尝试为脚本启动后立即连接到客户端的调试。
JIT
Xdebug的将只尝试尽快出现错误情况连接到调试客户端。


xdebug.remote_port

类型:整数,默认值:9000

端口到Xdebug的尝试在远程主机上连接。端口9000是用于在客户端和捆绑debugclient两个缺省值。由于许多客户端使用此端口号,最好是保留此设置不变。


xdebug.scream

类型:布尔,默认值:0,在推出的Xdebug> = 2.1

如果此设置为1,则Xdebug的将禁用@(闭嘴)运算符,这样的通知,警告和错误不再隐藏。


xdebug.show_exception_trace

类型:整数,默认值:0

当此设置为1,Xdebug的将显示每当引发异常的堆栈跟踪 – 即使这个例外实际上是抓住了。


xdebug.show_local_vars

类型:整数,默认值:0

当此设置为东西!= 0的Xdebug的生成堆栈转储在错误的情况下也将显示在最上面的范围内的所有变量。小心,这可能产生大量的信息,因此在默认情况下处于关闭状态。


xdebug.show_mem_delta

类型:整数,默认值:0

当此设置为东西!= 0的Xdebug的可读生成的跟踪文件将显示在函数调用之间的内存使用情况的差异。如果Xdebug的被配置为生成计算机可读跟踪文件,那么它们将总是显示该信息。


xdebug.trace_enable_trigger

类型:布尔,默认值:0,在推出的Xdebug> 2.2

当此设置为1,您可以通过使用XDEBUG_TRACE GET / POST参数触发的跟踪文件的产生,或者设置名为XDEBUG_TRACE的cookie。那么这将写入跟踪数据来 定义的目录。为了防止Xdebug的生成每个请求的跟踪文件,你需要设置 xdebug.auto_trace 0访问触发器本身可通过配置 xdebug.trace_enable_trigger_value


xdebug.trace_enable_trigger_value

类型:字符串,默认值:“” ,在推出的Xdebug> 2.3

此设置可用于限制谁可以使用的XDEBUG_TRACE功能中列出xdebug.trace_enable_trigger。当从空字符串的默认值改变,cookie的值,GET或POST参数需要的共享密钥,可使用此设置相匹配,以便将要生成的跟踪文件。


xdebug.trace_format

类型:整数,默认值:0

跟踪文件的格式。

描述
0 显示了人类可读的缩进跟踪文件: 时间索引内存使用率内存的增量(如果设置xdebug.show_mem_delta启用),水平函数名函数参数(如果设置xdebug.collect_params启用), 文件名行号
1 写有两个不同的记录的计算机可读的格式。有用于输入堆栈帧,并留下一个堆栈帧不同的记录。下表列出了每种类型的记录的字段。字段是制表符分隔。
2 中写道(简单)HTML格式的痕迹。

对于电脑格式字段:

记录类型 1 2 3 4 6 7 8 9 10 11 12 – …
条目 水平 功能# 始终为0 时间指数 内存使用情况 函数名 用户定义(1)或内部函数(0) 的名称包含/需要的文件 文件名 电话号码 没有。参数 参数(多达现场11指定) – 制表符分隔
出口 水平 功能# 总是’1′ 时间指数 内存使用情况
返回 水平 功能# 总是’R’ 返回值

看到介绍的功能痕迹了几个例子。


xdebug.trace_options

类型:整数,默认值:0

当设置为“1”的跟踪文件将被追加到,而不是在后续请求被覆盖。


xdebug.trace_output_dir

类型:字符串,默认值:/ tmp目录

其中跟踪文件写入的目录,确保谁是PHP将运行在用户具有写权限到该目录。


xdebug.trace_output_name

类型:字符串,默认值:。跟踪%C

此设置确定用于倾倒痕迹到文件的名称。该设置指定与格式说明,非常相似的sprintf()和strftime格式()。有可用于格式化的文件名几个格式说明。在’.xt“扩展总是自动添加。
可能的格式说明如下:

说明 含义 示例格式 示例文件名
%C 当前的工作目录的CRC32 跟踪%C trace.1258863198.xt
%p PID 跟踪。%P trace.5174.xt
%R 随机数 跟踪。%R trace.072db0.xt
%S 脚本名称2 cachegrind.out%S cachegrind.out._home_httpd_html_test_xdebug_test_php
%T 时间戳(秒) 追查。%叔 trace.1179434742.xt
%U 时间戳(微秒) 跟踪。%u trace.1179434749_642382.xt
%H $ _ SERVER [‘HTTP_HOST’] 跟踪。%H trace.kossu.xt
%R $ _ SERVER [‘REQUEST_URI’] 跟踪。%R trace._test_xdebug_test_php_var = 1_var2 = 2.xt
%U $ _ SERVER [‘UNIQUE_ID’] 3 跟踪。%U trace.TRX4n38AAAEAAB9gBFkAAAAB.xt
%S SESSION_ID(从$ _COOKIE如果设置) 追查。%S trace.c70c1ec2375af58f74b390bbdd2a679d.xt
%% 文字% 跟踪。%% 跟踪%%。XT

2这个人是不是可以跟踪文件名 。
3新的2.2版本。这一次是由Apache的设置mod_unique_id模块


xdebug.var_display_max_children

类型:整数,默认值:128

控制时要么显示变量数组儿童和对象的属性的量示xdebug_var_dump() xdebug.show_local_vars或通过函数轨迹
要禁用任何限制,使用-1的值。
该设置不会对儿童的数字,它是通过向客户端发送任何影响远程调试功能。


xdebug.var_display_max_data

类型:整数,默认值:512

控制变量时,显示以两种方式显示的最大字符串长度)xdebug_var_dump( xdebug.show_local_vars或通过函数轨迹
要禁用任何限制,使用-1的值。
该设置不会对儿童的数字,它是通过向客户端发送任何影响远程调试功能。


xdebug.var_display_max_depth

类型:整数,默认值:3

如何控制变量时显示有任何数组元素和对象属性的嵌套水平xdebug_var_dump() xdebug.show_local_vars或通过函数轨迹
您可以选择的最大值为1023,您还可以使用-1作为选择值最大数量。
该设置不会对儿童的数字,它是通过向客户端发送任何影响远程调试功能。

git 建立远程分支与合并冲突

写在前面
origin 为默认的主机名
master 为主分支

查看远程分支
$ git branch -a

查看本地分支
$ git branch

创建本地分支
$ git branch <分支名>

在test分支推送远程分支
$ git push origin <分支名>

删除本地分支
$ git branch -d <分支名>

删除远程分支
$ git push origin –delete <分支名>

更新远程主机[分支]数据库
$ git fetch origin [<分支名>]

合并分支
$ git merge origin master # 在当前分支上把 master 分支合并到当前分支
# 或者
$ git rebase origin master # 同 merge 作用,但 master 分支会消失.正确操作应在 master 上合并分支

合并冲突解决
$ git diff # 显示冲突的文件,需要手动解决冲突
$ git add # 解决冲突后重新添加
$ git commit -a # 解决冲突后重新提交